|
import streamlit as st |
|
import pandas as pd |
|
|
|
st.subheader(":red[**how to convert into grey scale**]") |
|
st.write("To convert an image to grayscale using OpenCV, you can use the cv2.cvtColor() function with the color conversion code cv2.COLOR_BGR2GRAY.") |
|
code=""" |
|
import cv2 |
|
|
|
# Read the original image |
|
image = cv2.imread("example.jpg") |
|
|
|
# Convert the image to grayscale |
|
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) |
|
|
|
# Display the original and grayscale images |
|
cv2.imshow("Original Image", image) |
|
cv2.imshow("Grayscale Image", gray_image) |
|
|
|
# Wait for a key press and close all windows |
|
cv2.waitKey(0) |
|
cv2.destroyAllWindows() |
|
|
|
# Save the grayscale image |
|
cv2.imwrite("gray_example.jpg", gray_image) |
|
""" |
|
st.code(code,language="python") |
|
|
|
st.write(""" |
|
**1.cv2.imread("example.jpg"):** |
|
- Reads the image in BGR (Blue-Green-Red) format by default. |
|
|
|
**2.cv2.cvtColor(image, cv2.COLOR_BGR2GRAY):** |
|
- Converts the image from BGR color space to a single-channel grayscale image. |
|
|
|
**3.cv2.imshow():** |
|
- Displays the original and grayscale images in separate windows. |
|
|
|
**4.cv2.imwrite():** |
|
- Saves the grayscale image to a file. |
|
""") |
|
|
|
st.subheader(":red[**how to convert image into color space**]") |
|
st.write("To convert an image from one color space to another using OpenCV, you can use the cv2.cvtColor() function. OpenCV provides various color conversion codes, such as converting an image to HSV, LAB, RGB, and more.") |
|
code=""" |
|
import cv2 |
|
|
|
# Read the original image |
|
image = cv2.imread("example.jpg") |
|
|
|
# Convert to different color spaces |
|
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # Convert to HSV |
|
lab_image = cv2.cvtColor(image, cv2.COLOR_BGR2LAB) # Convert to LAB |
|
rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convert to RGB |
|
|
|
# Display the original and converted images |
|
cv2.imshow("Original Image", image) |
|
cv2.imshow("HSV Image", hsv_image) |
|
cv2.imshow("LAB Image", lab_image) |
|
cv2.imshow("RGB Image", rgb_image) |
|
|
|
# Wait for a key press and close all windows |
|
cv2.waitKey(0) |
|
cv2.destroyAllWindows() |
|
|
|
# Save the converted images |
|
cv2.imwrite("hsv_example.jpg", hsv_image) |
|
cv2.imwrite("lab_example.jpg", lab_image) |
|
cv2.imwrite("rgb_example.jpg", rgb_image) |
|
""" |
|
st.code(code,language="python") |
|
|
|
st.write("**How to split**") |
|
st.write("In OpenCV, splitting an image refers to separating the channels of a multi-channel image (such as RGB or HSV). Each channel is represented as a single grayscale image. This can be done using the cv2.split() function.") |
|
code=""" |
|
import cv2 |
|
|
|
# Read the image |
|
image = cv2.imread("example.jpg") |
|
|
|
# Split the image into its channels |
|
b, g, r = cv2.split(image) # For an RGB/BGR image |
|
|
|
# Display each channel |
|
cv2.imshow("Blue Channel", b) |
|
cv2.imshow("Green Channel", g) |
|
cv2.imshow("Red Channel", r) |
|
|
|
# Wait for a key press and close all windows |
|
cv2.waitKey(0) |
|
cv2.destroyAllWindows() |
|
|
|
# Save the individual channels |
|
cv2.imwrite("blue_channel.jpg", b) |
|
cv2.imwrite("green_channel.jpg", g) |
|
cv2.imwrite("red_channel.jpg", r) |
|
""" |
|
st.code(code,language="python") |
|
|
|
st.write(""" |
|
**1.cv2.split(image):** |
|
- Splits the image into its individual channels. |
|
- For a BGR image, the output will be three separate arrays: Blue, Green, and Red. |
|
""") |
|
|
|
st.write("**How to merge**") |
|
st.write("In OpenCV, merging refers to combining individual image channels (e.g., Blue, Green, and Red) back into a single multi-channel image. You can use the cv2.merge() function for this purpose.") |
|
code=""" |
|
#sytax |
|
merged_image = cv2.merge((channel1, channel2, channel3)) |
|
""" |
|
st.code(code,language="python") |
|
st.write("Here, channel1, channel2, and channel3 are the individual channels to merge. Their order depends on the color space (e.g., for BGR, it should be Blue, Green, Red).") |
|
|
|
st.write("**Code: Merging Channels**") |
|
code=""" |
|
import cv2 |
|
|
|
# Read the image |
|
image = cv2.imread("example.jpg") |
|
|
|
# Split the image into channels |
|
b, g, r = cv2.split(image) |
|
|
|
# Merge the channels back into a single image |
|
merged_image = cv2.merge((b, g, r)) |
|
|
|
# Display the merged image |
|
cv2.imshow("Merged Image", merged_image) |
|
|
|
# Save the merged image |
|
cv2.imwrite("merged_image.jpg", merged_image) |
|
|
|
# Wait for a key press and close all windows |
|
cv2.waitKey(0) |
|
cv2.destroyAllWindows() |
|
""" |
|
st.write(""" |
|
**1.cv2.split(image):** |
|
- Splits the image into its respective channels. |
|
- For an RGB/BGR image, you get three separate grayscale images: Blue, Green, and Red channels. |
|
|
|
**2.cv2.merge((b, g, r)):** |
|
- Combines the individual channels back into a single BGR image. |
|
|
|
**3.Displaying the Image:** |
|
- Use cv2.imshow() to display the merged image. |
|
""") |