51.4 Chuyển ảnh sang thành ảnh xám và đường viền ngôi sao đổi màu trắng thành đen .... 91.7 Vẽ hình chữ nhật lên xung quanh các viền của ngôi sao có trong tấm hình .... 1: Ngôi sao vàng
METHODOLOGY OF SOLVING TASKS
Tách ngôi sao
Description: Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang không giang màu HSV hsv_img = cv.cvtColor( img , cv.COLOR_BGR2HSV)
Tạo mặt nạ của các kênh màu HSV
Màu vàng lower_yellow = np.array([20, 198, 118]) upper_yellow = np.array([40, 255, 255]) yellow_mask = cv.inRange(hsv_img lower_yellow upper_yellow , , )
Màu cam lower_orange = np.array([0, 198, 90]) upper_orange = np.array([68, 245, 240]) orange_mask = cv.inRange( hsv_img lower_orange upper_orange , , )
Màu hồng lower_pink = np.array([ 150, 50, 50 ]) upper_pink = np.array([ 180, 255 255 , ]) pink_mask = cv.inRange(hsv_img, lower_pink upper_pink , )
Màu Xanh dương lower_blue = np.array([ 100, 50, 50 ]) upper_blue = np.array([ 130, 255 255 , ]) blue_mask = cv.inRange(hsv_img, lower_blue upper_blue , )
Màu xanh lá lower_green = np.array([20 198, 118]) , green_mask = cv.inRange(hsv_img lower_green upper_green , , )
To detect purple hues in an image, define the lower and upper bounds using NumPy arrays: `lower_purple = np.array([120, 50, 50])` and `upper_purple = np.array([150, 255, 255])` Utilize OpenCV's `cv.inRange()` function to create a mask that highlights areas of the image corresponding to the specified purple color range Apply this mask to the image to visualize the stars that match the purple color.
# ngôi sau màu vàng yellow_star = cv.bitwise_and(img, img, mask=yellow_mask)
# ngôi sau màu Cam orange_star = cv.bitwise_and(img, img, mask=orange_mask)
# ngôi sau màu hồng pink_star = cv.bitwise_and(img img , , mask= pink_mask )
# ngôi sau màu xanh blue_star = cv.bitwise_and(img img , , mask= blue_mask )
# ngôi sau màu xanh lá green_star = cv.bitwise_and(img, img mask=green_mask) ,
# ngôi sau màu tím purple_star = cv.bitwise_and(img, img, m ask= purple_mask )
Ghi lại kết quả nhận được
The code snippet demonstrates how to save images using OpenCV, specifically by writing multiple star images in different colors to files The images saved include a yellow star as "image_01_01.png," an orange star as "image_01_02.png," a pink star as "image_01_03.png," a blue star as "image_01_04.png," a green star also as "image_01_04.png," and a purple star as "image_01_05.png."
The code snippet utilizes the OpenCV library to display images of stars in various colors It showcases six different colored stars: yellow, orange, pink, blue, green, and purple, using the `cv.imshow` function for each color After displaying the images, the program waits for a key press with `cv.waitKey(0)` before closing all windows with `cv.destroyAllWindows()`.
1.2 Chuy n ngôi sao thành màu xanh lá sáng ể
Description: Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổ ảnh sang i không gian màu HSV hsv_img = cv.cvtColor(img, cv.COLOR_BGR2HSV)
Tạo mặt nạ các kênh màu HSV (màu tương ứng) lower_yellow = ( , 20 100 100 , ) upper_yellow = ( , 30 255 255 , ) mask_yellow = cv.inRange(hsv_img lower_yellow upper_yellow , , )
Loại bỏ nhiễu bằng phép toán đóng
# Loại bỏ nhiễu phép toán đóng kernel = cv.getStructuringElement( cv MORPH_ELLIPSE, (5 5 , )) closed_mask_yellow = cv.morphologyEx(mask_yellow , cv MORPH_CLOSE , kernel)
Tìm các contours trong mặt nạ đóng
# Tìm các contours trong mặt nạ đã đóng contours, hierarchy = cv.findContours( closed_mask_yellow , cv RETR_EXTERNAL , cv CHAIN_APPROX_SIMPLE )
Tìm contour có diện tích lớn nhất và vẽ một đường bao quanh contour đó
# Tìm contour có diện tích lớn nhất và vẽ một đường bao quanh contour đó max_contour = max(contours, key= cv contourArea) cv.drawContours(img_Yellow max_contour , [ ], 0 0 255 0 , ( , , ), - ) 5
Thay đổi ngôi sao (màu tương ứng) thành màu xanh lá sáng
# Thay đổi ngôi sao màu vàng thành ngôi sao màu xanh lá sáng for point in max_contour: x, y = point[0 ] img_Yellow y [ , x] = [0 , 255 , 0 ]
Ghi lại kết quả nhận được
# Lưu ảnh đầu ra cv.imwrite('image_02_01.png', img_Yellow) cv imshow ( 'Output 1.jpg', img_Yellow) cv.waitKey(0) cv.destroyAllWindows()
Làm tương tự với màu cam, màu hồng, màu xanh dương, màu xanh lá, màu tím
1.3 Chuy n tể ất cả ngôi sau thành màu xanh lá sáng
Description: Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang không gian màu HSV hsv_img = cv.cvtColor(img, cv.COLOR_BGR2HSV)
Tạo mặt nạ các kênh màu HSV (màu tương ứng) lower_yellow = ( , 20 100 100 , ) upper_yellow = ( , 30 255 255 , ) mask_yellow = cv.inRange(hsv_img lower_yellow upper_y low , , el )
Loại bỏ nhiễu bằng phép toán đóng
# Loại bỏ nhiễu phép toán đóng kernel = cv.getStructuringElement( cv MORPH_ELLIPSE, (5 5 , )) closed_mask_yellow = cv.morphologyEx(mask_yellow , cv MORPH_CLOSE , kernel) Đổi màu tương ứng:
Tìm các contours trong mặt nạ đóng
# Tìm các contours trong mặt nạ đã đóng contours, hierarchy = cv.findContours( closed_mask_yellow , cv RETR_EXTERNAL , cv CHAIN_APPROX_SIMPLE )
Tìm contour có diện tích lớn nhất và vẽ một đường bao quanh contour đó
# Tìm contour có diện tích lớn nhất và vẽ một đường bao quanh contour đó max_contour = max(contours, key= cv contourArea) cv.drawContours(img, [ max_contour ], 0, (0, 255 0), -5) ,
Thay đổi ngôi sao (màu tương ứng) thành màu xanh lá sáng
# Thay đổi ngôi sao màu vàng thành ngôi sao màu xanh lá sáng for point in max_contour: x, y = point[0 ] img[y, x] = [0, 255 0 , ]
Làm tương tự với các màu cam, màu hồng, màu xanh dương, màu xanh lá, màu tím Ghi lại kết quả nhận được
# Lưu ảnh đầu ra cv.imwrite('image_03_01.png', img) cv imshow ( 'Output 1', img) cv.waitKey(0) cv.destroyAllWindows()
1.4 Chuyển ảnh sang thành ảnh xám và đường viền ngôi sao đổi màu trắng thành đen
Description: Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Tạo ngưỡng và chuyển đổi sang ảnh nhị phân retval, thresh = cv.threshold(gray_img, 200 255 , , cv THRESH_BINARY )
Loại bỏ nhiễu bằng phương pháp làm trơn kernel = cv.getStructuringElement( cv MORPH_RECT, ( , 5 5)) thresh = cv.morphologyEx( thresh, cv MORPH_CLOSE kernel , )
Chuyển viền màu trắng thành màu đen contours, hierarchy = cv.findContours( thresh , cv RETR_EXTERNAL , cv CHAIN_APPROX_SIMPLE ) cv.drawContours(gray_img contours , , -1, (0, , ), 0 0 10)
Ghi lại kết quả nhận được cv.imwrite("image_04_01.jpg", gray_img) cv imshow ( "Output 1.jpg", gray_img) cv.waitKey(0) cv.destroyAllWindows()
1.5 Chuy n tể ất cả ngôi sao thành màu đen
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng uật toán GaussianBlur()th
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Lấy ngưỡng để có viền của ngôi sao
# Thres1 - Lấy ngưỡng để có được các viền của ngôi sao ret1, thresh_img_1 = cv.threshold( blur, 195 255 , , cv THRESH_BINARY_INV)
Lấy ngưỡng để có được hình ngôi sao
# Thres2 - Lấy ngưỡng để có được bên trong ngôi sao ret1, thresh_img_2 = cv.threshold( blur, 134 255 , , cv THRESH_BINARY)
Kết hợp 2 ngưỡng để có được hình ngôi sao và viền ngôi sao
# Kết hợp 2 thres để có được ngoi sao có cả viền và bên trong result = cv.bitwise_and(thresh_img_1, thresh_img_2)
Ghi kết quả nhận được cv.imwrite("image_05_01.png", result) cv imshow ( "Output 1", result) cv.waitKey(0) cv.destroyAllWindows()
1.6 V ẽ đường viền đỏ xung quanh hình ảnh đầu
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng thuật toán GaussianBlur()
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Tạo ngưỡng để có được viền của ngôi sao
# Tạo ngưỡng để có được các viền của ngôi sao ret, thresh = cv.threshold( blur , 220 255 , , cv THRESH_BINARY_INV )
Tìm các contours dựa trên viền của các ngôi sao
# Tìm các contours dựa trên viền của các ngôi sao contours, hierarchy = cv.findContours( image=thresh, mode=cv.RETR_TREE method , =cv CHAIN_APPROX_NONE )
Vẽ các contours với màu đỏ
# Vẽ các contours với màu đỏ cv.drawContours(image=image , contours= contours , contourIdx=- 1, color = (0, , 0 255 ), thickness=2)
Ghi kết quả nhận được cv.imwrite("image_06_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
1.7 V hình chẽ ữ nhật lên xung quanh các vi n cề ủa ngôi sao có trong tấm hình
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng thuật toán GaussianBlur()
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Tạo ngưỡng để có được viền của ngôi sao
# Tạo ngưỡng để có được các viền của ngôi sao ret, thresh = cv.threshold( blur , 220 255 , , cv THRESH_BINARY_INV )
Tìm các contours dựa trên viền của các ngôi sao
# Tìm các contours dựa trên viền của các ngôi sao contours, hierarchy = cv.findContours( image=thresh, m ode=cv RETR_TREE method , =cv CHAIN_APPROX_NONE )
Với mỗi contours thì vẽ hình chữ nhật lên viền của các ngôi sao
To draw a rectangle around each contour in an image, iterate through the contours using a loop For each contour, calculate the bounding rectangle with `cv.boundingRect(c)` to obtain the dimensions Extract the coordinates and size from the rectangle, and then use `cv.rectangle` to draw the rectangle on the image Set the rectangle's color to green (0, 255, 0) and specify a thickness of 2 pixels for clear visibility.
Ghi kết quả nhận được cv.imwrite("image_07_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
1.8 Thêm nhi u Gaussian ễ và độ lệch chuẩn vào hình ảnh đầu vào Description:
Gaussian với giá trị trung bình = 0; Độ lệch chuẩn với giá trị = 150; Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Tạo nhiễu trùng với kích thước ảnh
# Tạo nhiễu trùng với kích thước ảnh gausian_noise = np zeros ( image shape, np uint8 )
Tạo nhiễu Gaussian ngẫu nhiên với Gaussian với giá trị trung bình = 0 và độ lệch chuẩn với giá trị = 150
# Tạo nhiễu Gaussian ngẫu nhiên cv.randn ( dst=gausian_noise, mean=0 , stddev0
# Thêm nhiễu vào ảnh image = cv add ( image , np array ( 0.2* gausian_noise dtype , =np.uint8))
# Thêm MSSV vào ảnh image = cv.putText(image, "52000895 52000896", (10, 30), cv.FONT_HERSHEY_SIMPLEX, , ( 1 128 , 0, 128 ), 2, cv.LINE_AA)
Ghi kết quả nhận được cv.imwrite("image_08_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
Chuyển ảnh sang thành ảnh xám và đường viền ngôi sao đổi màu trắng thành đen
Description: Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Tạo ngưỡng và chuyển đổi sang ảnh nhị phân retval, thresh = cv.threshold(gray_img, 200 255 , , cv THRESH_BINARY )
Loại bỏ nhiễu bằng phương pháp làm trơn kernel = cv.getStructuringElement( cv MORPH_RECT, ( , 5 5)) thresh = cv.morphologyEx( thresh, cv MORPH_CLOSE kernel , )
Chuyển viền màu trắng thành màu đen contours, hierarchy = cv.findContours( thresh , cv RETR_EXTERNAL , cv CHAIN_APPROX_SIMPLE ) cv.drawContours(gray_img contours , , -1, (0, , ), 0 0 10)
Ghi lại kết quả nhận được cv.imwrite("image_04_01.jpg", gray_img) cv imshow ( "Output 1.jpg", gray_img) cv.waitKey(0) cv.destroyAllWindows()
1.5 Chuy n tể ất cả ngôi sao thành màu đen
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng uật toán GaussianBlur()th
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Lấy ngưỡng để có viền của ngôi sao
# Thres1 - Lấy ngưỡng để có được các viền của ngôi sao ret1, thresh_img_1 = cv.threshold( blur, 195 255 , , cv THRESH_BINARY_INV)
Lấy ngưỡng để có được hình ngôi sao
# Thres2 - Lấy ngưỡng để có được bên trong ngôi sao ret1, thresh_img_2 = cv.threshold( blur, 134 255 , , cv THRESH_BINARY)
Kết hợp 2 ngưỡng để có được hình ngôi sao và viền ngôi sao
# Kết hợp 2 thres để có được ngoi sao có cả viền và bên trong result = cv.bitwise_and(thresh_img_1, thresh_img_2)
Ghi kết quả nhận được cv.imwrite("image_05_01.png", result) cv imshow ( "Output 1", result) cv.waitKey(0) cv.destroyAllWindows()
1.6 V ẽ đường viền đỏ xung quanh hình ảnh đầu
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng thuật toán GaussianBlur()
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Tạo ngưỡng để có được viền của ngôi sao
# Tạo ngưỡng để có được các viền của ngôi sao ret, thresh = cv.threshold( blur , 220 255 , , cv THRESH_BINARY_INV )
Tìm các contours dựa trên viền của các ngôi sao
# Tìm các contours dựa trên viền của các ngôi sao contours, hierarchy = cv.findContours( image=thresh, mode=cv.RETR_TREE method , =cv CHAIN_APPROX_NONE )
Vẽ các contours với màu đỏ
# Vẽ các contours với màu đỏ cv.drawContours(image=image , contours= contours , contourIdx=- 1, color = (0, , 0 255 ), thickness=2)
Ghi kết quả nhận được cv.imwrite("image_06_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
1.7 V hình chẽ ữ nhật lên xung quanh các vi n cề ủa ngôi sao có trong tấm hình
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng thuật toán GaussianBlur()
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Tạo ngưỡng để có được viền của ngôi sao
# Tạo ngưỡng để có được các viền của ngôi sao ret, thresh = cv.threshold( blur , 220 255 , , cv THRESH_BINARY_INV )
Tìm các contours dựa trên viền của các ngôi sao
# Tìm các contours dựa trên viền của các ngôi sao contours, hierarchy = cv.findContours( image=thresh, m ode=cv RETR_TREE method , =cv CHAIN_APPROX_NONE )
Với mỗi contours thì vẽ hình chữ nhật lên viền của các ngôi sao
To draw rectangles around contours in an image, iterate through each contour using a loop For each contour, calculate the bounding rectangle with `cv.boundingRect(c)` to obtain its dimensions Extract the coordinates and size of the rectangle, and then use `cv.rectangle()` to draw the rectangle on the image Set the rectangle's color to green (0, 255, 0) and specify a thickness of 2 pixels for clear visibility.
Ghi kết quả nhận được cv.imwrite("image_07_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
1.8 Thêm nhi u Gaussian ễ và độ lệch chuẩn vào hình ảnh đầu vào Description:
Gaussian với giá trị trung bình = 0; Độ lệch chuẩn với giá trị = 150; Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Tạo nhiễu trùng với kích thước ảnh
# Tạo nhiễu trùng với kích thước ảnh gausian_noise = np zeros ( image shape, np uint8 )
Tạo nhiễu Gaussian ngẫu nhiên với Gaussian với giá trị trung bình = 0 và độ lệch chuẩn với giá trị = 150
# Tạo nhiễu Gaussian ngẫu nhiên cv.randn ( dst=gausian_noise, mean=0 , stddev0
# Thêm nhiễu vào ảnh image = cv add ( image , np array ( 0.2* gausian_noise dtype , =np.uint8))
# Thêm MSSV vào ảnh image = cv.putText(image, "52000895 52000896", (10, 30), cv.FONT_HERSHEY_SIMPLEX, , ( 1 128 , 0, 128 ), 2, cv.LINE_AA)
Ghi kết quả nhận được cv.imwrite("image_08_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
Vẽ đường viền đỏ xung quanh hình ảnh đầu
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng thuật toán GaussianBlur()
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Tạo ngưỡng để có được viền của ngôi sao
# Tạo ngưỡng để có được các viền của ngôi sao ret, thresh = cv.threshold( blur , 220 255 , , cv THRESH_BINARY_INV )
Tìm các contours dựa trên viền của các ngôi sao
# Tìm các contours dựa trên viền của các ngôi sao contours, hierarchy = cv.findContours( image=thresh, mode=cv.RETR_TREE method , =cv CHAIN_APPROX_NONE )
Vẽ các contours với màu đỏ
# Vẽ các contours với màu đỏ cv.drawContours(image=image , contours= contours , contourIdx=- 1, color = (0, , 0 255 ), thickness=2)
Ghi kết quả nhận được cv.imwrite("image_06_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
1.7 V hình chẽ ữ nhật lên xung quanh các vi n cề ủa ngôi sao có trong tấm hình
Description: Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Chuyển đổi ảnh sang ảnh xám
# Chuyển đổi sang không gian màu xám gray_img = cv.cvtColor( img, cv COLOR_BGR2GRAY)
Khử nhiễu bằng thuật toán GaussianBlur()
# Khử nhiễu bằng GaussianBlur() blur = cv.GaussianBlur(gray, (5, 5), 0)
Tạo ngưỡng để có được viền của ngôi sao
# Tạo ngưỡng để có được các viền của ngôi sao ret, thresh = cv.threshold( blur , 220 255 , , cv THRESH_BINARY_INV )
Tìm các contours dựa trên viền của các ngôi sao
# Tìm các contours dựa trên viền của các ngôi sao contours, hierarchy = cv.findContours( image=thresh, m ode=cv RETR_TREE method , =cv CHAIN_APPROX_NONE )
Với mỗi contours thì vẽ hình chữ nhật lên viền của các ngôi sao
To draw rectangles around contours in an image, iterate through each contour using a loop For each contour, use the `cv.boundingRect(c)` function to find the surrounding rectangle Extract the rectangle's dimensions: x, y, width (w), and height (h) Then, utilize the `cv.rectangle()` function to draw the rectangle on the image, specifying the top-left corner as (x, y) and the bottom-right corner as (x + w, y + h) Set the rectangle's color to green (0, 255, 0) and adjust the thickness to 2 pixels for clear visibility.
Ghi kết quả nhận được cv.imwrite("image_07_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
1.8 Thêm nhi u Gaussian ễ và độ lệch chuẩn vào hình ảnh đầu vào Description:
Gaussian với giá trị trung bình = 0; Độ lệch chuẩn với giá trị = 150; Đọc ảnh từ đầu vào
# Đọc ảnh từ đầu vào img = cv.imread('input1.jpg')
Tạo nhiễu trùng với kích thước ảnh
# Tạo nhiễu trùng với kích thước ảnh gausian_noise = np zeros ( image shape, np uint8 )
Tạo nhiễu Gaussian ngẫu nhiên với Gaussian với giá trị trung bình = 0 và độ lệch chuẩn với giá trị = 150
# Tạo nhiễu Gaussian ngẫu nhiên cv.randn ( dst=gausian_noise, mean=0 , stddev0
# Thêm nhiễu vào ảnh image = cv add ( image , np array ( 0.2* gausian_noise dtype , =np.uint8))
# Thêm MSSV vào ảnh image = cv.putText(image, "52000895 52000896", (10, 30), cv.FONT_HERSHEY_SIMPLEX, , ( 1 128 , 0, 128 ), 2, cv.LINE_AA)
Ghi kết quả nhận được cv.imwrite("image_08_01.png", image) cv imshow ( "Output 1", image) cv.waitKey(0) cv.destroyAllWindows()
Thêm nhiễu Gaussian và độ lệch chuẩn vào hình ảnh đầu vào
Kết quả ngôi sao vàng
Hình 2.1 1: Ngôi sao màu vàng
TASK RESULTS
Result question a
Kết quả ngôi sao vàng
Hình 2.1 1: Ngôi sao màu vàng
Kết quả ngôi sao cam
Hình 2.1 2: Ngôi sao màu cam
Kết quả ngôi sao hồng
Hình 2.1 3: Ngôi sao màu hồng
Kết quả ngôi sao xanh dương
Hình 2.1 4: Ngôi sao màu xanh dương
Kết quả ngôi sao xanh lá
Hình 2.1 5: Ngôi sao màu xanh lá
Kết quả ngôi sao tím
Hình 2.1 6: Ngôi sao màu tím
Result question b
Ngôi sao màu vàng chuyển thành ngôi sao màu xanh lá sáng
Hình 2.2 1: Ngôi sao vàng chuyển thành ngôi sao xanh lá sáng
Ngôi sao màu cam chuyển thành ngôi sao màu xanh lá sáng
Hình 2.2 2: Ngôi sao cam chuyển thành ngôi sao xanh lá sáng
Ngôi sao màu hồng chuyển thành ngôi sao màu xanh lá sáng
Hình 2.2 3: Ngôi sao hồng chuyển thành ngôi sao xanh lá sáng
Ngôi sao màu xanh dương chuyển thành ngôi sao màu xanh lá sáng
Hình 2.2 4: Ngôi sao xanh dương chuyển thành ngôi sao xanh lá sáng
Ngôi sao màu xanh lá chuyển thành ngôi sao màu xanh lá sáng
Hình 2.2 5: Ngôi sao xanh lá chuyển thành ngôi sao xanh lá sáng
Ngôi sao màu tím chuyển thành ngôi sao màu xanh lá sáng
Hình 2.2 6: Ngôi sao tím chuyển thành ngôi sao xanh lá sáng
Result question c
Tất cả ngôi sao chuyển thành ngôi sao màu xanh lá sáng
Hình 2.3 1 Các : ngôi sao chuyển thành các ngôi sao xanh lá sáng
Result question d
Hình ảnh với đường viền của các ngôi sao màu đen
Hình 2.4 1: Các ngôi sao có đường viền màu đen
Result question e
Hình ảnh với tất cả ngôi sao đều màu đen
Hình 2.5 1: Các ngôi sao chuyển thành màu đen
Result question f
Hình ảnh với các vật thể được bo bởi đường viền
Hình 2.6 1: Các đối tượng trong ảnh được ền mvi àu đỏ
Result question g
Hình ảnh với các hình chữ nhật xung quanh các viền của ngôi sao
Hình 2.7 1: Các ngôi sao được viền hình chữ nhật
Result question h
Hình ảnh với thuật toán Gaussian noise và thêm mã số sinh viên
Hình 2.8 1: Thuật toán Gaussian noise và thêm mã số sinh viên
CAU HOI TRAC Nghiem TCMT Chuong 1 6
On Tap Cuoi ky Mon Phuong phap lap trinh
Chương 1: Các hệ thống số đếm
26 trắc nghiệm Tổ chức máy tính
Final report Operating System Concepts
Practice materials of Digital Logic Design
Tố chức máy tính None