Mức xám của ảnh là gì

     
Giới thiệu và chi tiết các thuật toán Grayscale, ảnh nhị phân và một số trong những thuật toán giúp thay đổi một hình ảnh xám thành hình ảnh nhị phân (Adaptive threshold).

Bạn đang xem: Mức xám của ảnh là gì

Bạn sẽ xem: nấc xám của ảnh là gì


*

*

Chuyển đổi hệ thống màu RGB thanh lịch Grayscale

Ảnh là tập hợp của 1 ma trận điểm ảnh (pixel), mỗi điểm ảnh có thể được biểu diễn bằng n bytes dưới các kênh màu không giống nhau. Việc thay đổi giữa các hệ màu thông thường được triển khai thông qua các phép biến hóa ma trận.

Bài viết sẽ reviews cách chuyển đổi từ hình ảnh 24 bits RGB sang ảnh 8 bits Grayscale.

Công thức

Công thức tính cường độ sáng ở một điểm hình ảnh từ hình ảnh RGB:

I(x, y) = 0.3086 * Red(x, y) + 0.6094 * Green(x, y) + 0.0820 * Blue(x, y) I(x, y) = 0.299 * Red(x, y) + 0.587 * Green(x, y) + 0.114 * Blue(x, y)Hoặc

I(x, y) = ( 2 * Red(x, y) + 5 * Green(x, y) + 1 * Blue(x, y) ) / 8 Phân tích

I(x, y): cường ánh sáng tại điểm ảnh (x, y) của ảnh xám.Red(x, y): quý hiếm của kênh màu sắc Red (Đỏ) trên điểm ảnh (x, y) của hình ảnh màu (RGB).Green(x, y): quý giá của kênh color Green (Xanh lá cây) trên điểm hình ảnh (x, y) của hình ảnh màu (RGB).Blue(x, y): cực hiếm của kênh màu blue (Xanh lơ) trên điểm hình ảnh (x, y) của ảnh màu (RGB).

Chú ý

Các phép toán trong những nguyên (Int) nhanh hơn không hề ít trong số thực (Float).Trong OpenCV, khối hệ thống màu bao gồm thứ tự các kênh màu sắc là Blue-Green-Red. Các thông số kỹ thuật dùng để đo lường cường khả năng chiếu sáng cho ảnh xám như: 0.3086, 0.6094, 0.0820,... được xem như là những số lượng đẹp do tín đồ ta nghiên cứu và phân tích ra. Những con số này rất có thể thay đổi. Tất cả thể chọn 1 giá trị 1 kênh màu sắc hoặc chia trung bình cùng của 3 kênh màu để tìm cường độ sáng tại 1 điểm hình ảnh (Pixel).

Xem thêm: Kết Nối Sip Account Là Gì Và Nó Hoạt Động Như Thế Nào? So Sánh Và Nên Sử Dụng Voip Hay Sip

Chuyển đổi hình ảnh xám trong OpenCV

Phương thức cvtColor

Trong OpenCV, để gửi 1 tấm hình ảnh có hệ color RGB lịch sự Grayscale, hay thậm chí là các không gian màu qua lại với nhau nhờ cách làm cvtColor() (Convert color). 

cv::cvtColor(cv::InputArray src, cv::OutputArray dst, int code)Phân tích

src: Là hình hình ảnh gốc (Trong nội dung bài viết này là ảnh màu).dst: Là hình ảnh thu được (Trong nội dung bài viết này là ảnh xám).code: Là mã gửi màu. Ví dụ: code = CV_BGR2GRAY là đưa đổi ảnh màu thành ảnh xám,...Code minh hoạ cách làm cvtColor vào OpenCV

// www.90namdangbothanhhoa.vn// www.90namdangbothanhhoa.vn/users/index/11/truong-dat#include #include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"using namespace cv;int main()// Read imageMat image = imread("90namdangbothanhhoa.vn.png", CV_LOAD_IMAGE_COLOR);Mat imageGrayscale;// kiểm tra for validif (!image.data)printf("Could not mở cửa or find the image ");return -1;cvtColor(image, imageGrayscale, CV_BGR2GRAY);// Create and show image in windowimshow("90namdangbothanhhoa.vn OpenCV Sample", imageGrayscale);// Wait input và exitwaitKey(0);return 0;

*

Ảnh nhị phân

Nhị phân hóa

Là thừa trình biến hóa 1 ảnh xám thành hình ảnh nhị phân.Gọi quý giá cường độ sáng tại 1 điểm ảnh là I(x,y) .INP(x,y) là cường độ sáng của điểm hình ảnh trên hình ảnh nhị phân .(Với 0 ) cùng (0 ).

Để đổi thay đổi ảnh xám thành hình ảnh nhị phân. đối chiếu giá trị cường ánh sáng của điểm hình ảnh với 1 ngưỡng nhị phân T. 

Nếu I(x,y) > T thì INP(x, y) = 0 (0).Nếu I(x,y) > T thì INP(x, y) = 255 (1).

Chú ý

Có thể chọn giá trị T từ bỏ 0 đến 255, nhưng thông thường nhiều người hay lựa chọn một giá trị đó là 128 tức là giá trị trung bình của max(255) cùng min(0) của cường độ sáng (Intensity) của điểm ảnh.Dễ dàng nhận ra với mỗi T thì gồm 1 hình ảnh nhị phân không giống nhau (Khác nhau ở đó là cường độ sáng của những tấm ảnh nhị phân cùng với mỗi cực hiếm T).

Xem thêm: Ăn Gì Ở Thủ Đức - Top 20 Món Ngon Thủ Đức (Tp

Có 1 kỹ thuật điện thoại tư vấn là nhị phân hóa ngưỡng đụng giúp thu được ảnh nhị phân mà lại không đon đả tới cường độ sáng.