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ố thuật toán giúp đổi khác một ảnh xám thành ảnh nhị phân (Adaptive threshold).

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


Giới thiệu

OpenCV (Open Computer Vision) là 1 trong những thư viện mã nguồn mở chuyên dùng để xử lý những vấn đề liên quan đến thị giác sản phẩm tính. Nhờ vào 1 hệ thống các lời giải chuyên biệt, về tối ưu cho vấn đề xử lý thị giác thứ tính, vì chưng vậy tính ứng dụng của OpenCV là hết sức lớn.Xử lý hình ảnh là quy trình xử lý, thao tác làm việc hình hình ảnh để có 1 hình hình ảnh khác tương xứng với yêu cầu của tín đồ dùng, ...


Bài viết reviews khái niệm với kỹ thuật ảnh xám (Grayscale) và ảnh nhị phân với nhị phân hóa (Adaptive Threshold).

GrayScale là gì?

Là 1 hệ thống màu cómô hình màu dễ dàng và đơn giản nhất với 256 cấp độ xám đổi thay thiên từ màu đenđến màu trắng.Kết trái được xuất ra vẫn có màu trắng đen.Đượcsử dụng cả vào công nghiệp in lẫn sử dụng trong vấn đề thể hiện hình ảnh lên những thiết bị số.Ảnh xám (Gray image)hay còn được gọi là ảnh đơn dung nhan (Monochromatic), mỗi quý hiếm điểm hình ảnh (Pixel) vào ma trận điểm ảnh mang quý giá từ 0 đến 255.Trong không khí màu RGB, để có 1 hình ảnh xám cần phải có phải có mức giá trị kênh color Red(x, y) = Green(x, y) = Blue(x, y) (với x, y theo lần lượt là tọa độ của điểm ảnh).
*

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

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

Bài viết sẽ ra mắt cách biến hóa từ ảnh 24 bits RGB sang ảnh 8 bits Grayscale.

Công thức

Công thức tính cường độ sáng ở 1 điểm ảnh từ ả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 độ sáng tại điểm hình ảnh (x, y) của hình ảnh xám.Red(x, y): quý giá của kênh màu Red (Đỏ) trên điểm ảnh (x, y) của hình ảnh màu (RGB).Green(x, y): cực hiếm của kênh color Green (Xanh lá cây) tại điểm hình ảnh (x, y) của hình ảnh màu (RGB).Blue(x, y): quý 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 ít trong số thực(Float).Trong OpenCV, hệ thống màu có thứ tự những kênh color là Blue-Green-Red.Các thông số kỹ thuật dùng để thống kê giám sát cường ánh sáng cho ảnh xám như: 0.3086, 0.6094, 0.0820,... được xem là những số lượng đẹp do fan ta phân tích ra. Các con số này hoàn toàn có thể thay đổi. Gồm thể lựa chọn 1 giá trị 1 kênh màu sắc hoặc phân tách trung bình cộng của 3 kênh màu nhằm tìm độ mạnh sáng tại một điểm ảnh (Pixel).

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

Phương thức cvtColor

Trong OpenCV, để chuyển 1 tấm ảnh có hệ color RGB lịch sự Grayscale, hay thậm chí là các không khí màu hỗ tương với nhau nhờ cách thức cvtColor()(Convert color).

cv::cvtColor(cv::InputArray src, cv::OutputArray dst, int code)

Phân tích

src: Là hình ảnh gốc (Trong 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à hình ảnh xám).code: Là mã gửi màu. Ví dụ: code = CV_BGR2GRAY là chuyển đổi hình ảnh màu thành hình ảnh xám,...Code minh hoạ cách tiến hành cvtColor vào OpenCV// www.stdio.vn// www.stdio.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("stdio.png", CV_LOAD_IMAGE_COLOR);Mat imageGrayscale;// kiểm tra for validif (!image.data)printf("Could not xuất hiện or find the image ");return -1;cvtColor(image, imageGrayscale, CV_BGR2GRAY);// Create và show image in windowimshow("STDIO OpenCV Sample", imageGrayscale);// Wait input and exitwaitKey(0);return 0;
*

Ảnh nhị phân

Là ảnh mà giá trị của những điểm ảnh chỉ được màn trình diễn bằng hai quý giá là 0 (Đen) cùng 255 (Trắng) (Tương ứng cùng với 0 cùng 1, tuy thế để nguyên quý giá 0 cùng 255 để rất có thể hiểu rộng trong việc tính toán).Vì quý hiếm của điểm hình ảnh được trình diễn bởi 2 quý hiếm là 0 hoặc 1, phải 1 điểm ảnh được biểu diễn bằng 1 bit nên ảnh có kích thước rất nhỏ.

Nhị phân hóa

Là quá trình chuyển đổi 1 hình ảnh xám thành ảnh nhị phân.

Gọi cực hiếm cường độ sáng tại 1 điểm hình ảnh là I(x,y).INP(x,y) là cường ánh sáng của điểm ảnh trên ảnh nhị phân .(Với0

Để biến đổi đổi hình ảnh xám thành hình ảnh nhị phân. đối chiếu giá trị cường độ 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ể lựa chọn giá trị T từ 0 mang lại 255, nhưng thường thì nhiều người hay chọn 1 giá trị đó là 128 tức là giá trị mức độ vừa phải của max(255) và min(0) của cường độ sáng (Intensity) của điểm ảnh.Dễ dàng nhận ra với từng T thì gồm 1 hình ảnh nhị phân không giống nhau (Khác nhau ở đấy là cường độ sáng của các tấm hình ảnh nhị phân với mỗi cực hiếm T).

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

Nhị phân hóa vào OpenCVPhương thức threshold

Để gửi 1 ảnh thành 1 hình ảnh nhị phân, thực hiện phương thức threshold().

threshold(cv::InputArray src, cv::OutputArray dst, double thresh, double maxval, int type);

Phân tích


src: hình hình ảnh gốc (Trong nội dung bài viết này là ảnh màu).dst: ảnh thu được (Trong bài viết này là hình ảnh nhị phân).thresh: ngưỡng nhị phân T.maxval: giá trị lớn số 1 trong ảnh (maxval = 255 đối với hình ảnh xám).type: dạng hình nhị phân.Code minh hoạ cách thức threshold trong OpenCV// www.stdio.vn// www.stdio.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("stdio.png", CV_LOAD_IMAGE_GRAYSCALE);Mat imageBinary;// kiểm tra for validif (!image.data)printf("Could not open or find the image ");return -1;threshold(image, imageBinary, 220, 255, CV_THRESH_BINARY);// Create & show image in windowimshow("STDIO OpenCV Sample", imageBinary);// Wait input và exitwaitKey(0);return 0;
*

Nhị phân hóa ngưỡng động

Ý tưởng:

Chia hình ảnh thành những khu vực, cửa ngõ sổ khác biệt (Region).Dùng 1 thuật toán nhằm tìm 1 quý hiếm T phù hợp với từng quần thể vực, hành lang cửa số (Region).Áp dụng phương pháp nhị phân hóa mang đến từng quần thể vực, cửa sổ (Region) với T phù hợp.

Điều quan trọng trong chuyên môn này là yêu cầu tìm 1 cực hiếm T phù hợp với từng quần thể vực, cửa sổ (Region) hoặc cả tấm ảnh. Tất cả rất nhiều phương thức để tìm T, sinh sống nội dung tiếp theo sẽ ra mắt 1 số thuật toán góp tìm kiếm quý giá T này.

Thuật toán Otsu

Bước 1:Xác định T1. Giá bán trị cho T1ban đầu nên chọn là (0+255) / 2 = 128.

Bước 2:Phân nhiều loại thành 2 team điểm ảnh.

Loại 1 (Type1): chứa tất cả các điểm ảnh có giá trị cường độ sáng (Intensity) loại 2 (Type2): chứa tất cả các điểm ảnh có quý giá cường khả năng chiếu sáng (Intensity) > T.

Bước 3:Tính giá trị cường ánh sáng trung bình (iAverage) đến Type1 (iAverage1) và Type2 (iAverage2).

Bước 4:Tính quý hiếm T2 theo công thức (iAverage1 + iAverage2) /2.

Bước 5:So sánh T1 cùng T2.

Nếu quý hiếm chênh lệch của T1 cùng T2 Nếu quý giá chênh lệch của T1 và T2 > Deltathì trở về Bước 1.

Xem thêm: Sơ Đồ Tư Duy Sinh Học 7 Chi Tiết Nhất, Sơ Đồ Tư Duy Giun Đất


*

Thuật toán đối xứng

Bước 1: khởi sinh sản mảng Histogram(histogram). Tìm cực hiếm cường khả năng chiếu sáng (intensityMax) bao gồm tuần suất lộ diện nhiều độc nhất histogram.


Bước 2: duyệt toàn cục các mức xám bớt từ 255 mang lại intensityMax. Ví như tại nấc xám nào bao gồm tuầnsuất lộ diện trên ảnh là 5% thì giới hạn lại. Lấy quý hiếm đối xứng qua histogram là ngưỡng động T.

for (int indexIntensity = 255; indexIntensity >= intensityMax; indexIntensity--)frequency = histogram;if ((float)frequency / (image.Width * image.Height) == 0.05f) split = indexInteensity;break;T = intensityMax - (split - intensityMax);
*

Thuật toán tam giác

Bước 1: Khởi tạo ra mảng Histogram(histogram).

Tìm cực hiếm intensityMax vàhistogram.Tìm giá chỉ trịintensityMinvàhistogram.

Bước 2: Duyệt toàn thể các mức xám trường đoản cú intensityMinđến intensityMax. Tính khoảng cách tương ứng tiếp nối xét ngưỡng Tbằng quý hiếm mức xám có khoảng cách lớn nhất.

for(int index = intensityMin+1; index a và b: theo thứ tự là 2 điểm khác biệt trên mặt đường thẳng.c: là vấn đề cần tìm khoảng cách tới con đường thẳng.
Nhị phân hóa ngưỡng độngtrong OpenCVPhương thức adaptiveThreshold

Để đưa 1 ảnh thành 1 ảnh nhị phân, áp dụng phương thức adaptiveThreshold()

adaptiveThreshold(cv::InputArray src, cv::OutputArray dst, double maxValue,int adaptiveMethod, int thresholdType, int blockSize, double C);

Phân tích

src: hình ảnh gốc (Trong nội dung bài viết này là hình ảnh màu).dst: hình ảnh thu được (Trong nội dung bài viết này là ảnh nhị phân).thresh: ngưỡng nhị phân T.maxValue: giá chỉ trị lớn số 1 trong ảnh (maxval = 255 đối với hình ảnh xám).adaptiveMethod: phương thức nhị phân cùng với ngưỡng động, nó đó là cách tính quý giá ngưỡng nhị phân trong từng vùng đề nghị nhị phân.thresholdType: đẳng cấp nhị phân.blockSize: size của hành lang cửa số (Region) vận dụng cho việc tính toán ngưỡng rượu cồn (nên chọn các giá trị %3 = 0 || %5 = 0 || %7 = 0).C: thông số kỹ thuật để bù trừ trong trường hợp ảnh có độ tương phản bội quá lớn.Code minh hoạ cách làm adaptiveThreshold trong OpenCV#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("stdio.png", CV_LOAD_IMAGE_GRAYSCALE);Mat imageBinary;// check for validif (!image.data)printf("Could not open or find the image ");return -1;adaptiveThreshold(image, imageBinary, 255, CV_ADAPTIVE_THRESH_MEAN_C,CV_THRESH_BINARY, 9, 0);// Create & show image in windowimshow("STDIO OpenCV Sample", imageBinary);// Wait input và exitwaitKey(0);return 0;

Computer Vision

Thị giác trang bị tính.


*
Reply
*
2
*
0
*
chia sẻ

Room Inventory là gì

Cùng là 1 trong những động từ bỏ Lie, mà lại khi bạn phối kết hợp động từ này với các giới từ khác biệt thì lại mang ý nghĩa khác nhau. Hôm nay, Studytienganh sẽ cùng với ...


Quyền hạn tính năng là gì

Quyền hạn (tiếng Anh: Authority) trong tổ chức triển khai là quyền tự chủ trong hành động, trong quá trình quyết định và yên cầu sự vâng lệnh quyết định gắn liền ...


Decide danh tự là gì

Decide đi cùng với giới trường đoản cú gì? cách dùng decide là thắc mắc của không ít bạn học tập tiếng Anh. Để đọc hơn về ý nghĩa, ngữ pháp cũng như cách áp dụng Decide ...


Hỏi ĐápLà gì
Mom sông tức thị gì

Phân tích bài bác thơ Thương vk của Tú xương (bài 2). ...


Hỏi ĐápLà gì Ngôn ngữNghĩa là gì
Vì sao thực trang bị được xem như là sinh thứ sản xuất

Sinh thứ tiêu thụ là loại rất không còn xa lạ trong cuộc sống thường ngày của bọn chúng ta. Chúng là phần nhiều sinh vật đóng vai trò rất quan trọng. Chủ yếu là trong việc bảo trì sự ...


Bookworm tức là gì

Bookworm Là Gì Nghĩa Của từ bỏ Bookworm Trong giờ đồng hồ Việt Là Gì 1 mon Tám, 2021 Là ...


Độ trượt của bánh xe là gì
Cơ thể con người dân có bao nhiêu bộ phận

Cơ thể fan là trong số những điều mà sinh sản hóa trao khuyến mãi cho mỗi bọn chúng ta, mỗi một phần tử đều có trong mình thiên chức của nó. Hiểu về các thành phần ...


Cuba tiếng Anh là gì

Các ai đang học giờ Anh cùng yêu địa lý chắc hẳn rằng sẽ hiếu kỳ phiên âm giờ Anh tên các nước trên thế giới. Việc học giờ đồng hồ Anh qua gần như từ vựng tiếng ...


Công suất 600W là gì

10 thắc mắc trước khi mua cục đẩy hiệu suất mà chúng ta nên biếtĐã gồm 9546 lượt xem sản phẩmCục đẩy hiệu suất dù đã được gia nhập vào nước ta được ...


Máy rửa mặt Foreo Luna 3 chế tạo ở đâu

Máy rửa khía cạnh Foreo Luna 3 là một mã sản phẩm máy rửa mặt full size cá biệt trong các dòng thứ rửa khía cạnh của Foreo được chị em mến mộ ngoài các mẫu mini nhỏ tuổi ...


Hỏi ĐápỞ đâuCông NghệMáy
Doris có nghĩa là gì

100+ tên tiếng Anh cho nhỏ xíu gái hay và nhiều ý nghĩa đẹp ...


Hỏi ĐápLà gìNgôn ngữNghĩa là gì
Lỗi lấn làn phát bao nhiêu

Khi tham gia giao thông đường bộ có lẽ các bạn không còn không quen gì với gạch kẻ đường dành cho các phương tiện đi lại khác nhau. Tuy nhiên bây chừ tình trạng ...


Tại sao khí co hẹp độc

Chuyên về y học, dành cho các bác sỹ, dược sỹ, học viên và sinh viên tự đăng nội dung bài viết về mức độ khỏe, điều đình nội cỗ nhằm nâng cấp kiến thức ship hàng ...


Iphone Full cn là gì

iPhone lock là iPhone được xuất kho kèm vừa lòng đồng của nhà mạng nên chỉ dùng được sim trong phòng mạng đó. Để khám nghiệm đượciPhonelock xuất xắc quốc tế không hẳn ...


Kinh đường Tây sinh sống đâu

trình bày các khái niệm về kinh tuyến đường kinh tuyến cội kinh tuyến đường đông kinh tuyến tây vĩ tuyến vĩ tuyến cội vĩ con đường bắc vĩ con đường nam bán cầu bắc phân phối cầu ...


B1 tương đương bao nhiêu IELTS

1. Mày mò bằng tiếng Anh b1 tương đương ielts bao nhiêu? 1.1. Bạn biết gì về chuyên môn tiếng Anh B1? trình độ tiếng Anh B1 là trình độ chuyên môn tiếng Anh trực thuộc ...


Cầm đèn chạy trước ô tô tiếng Anh là gì

Giải đam mê thành ngữ nắm đèn chạy trước ô tô có nghĩa là gì? không ít người dân thắc mắc lý giải thành ngữ núm đèn chạy ...

Xem thêm: Chi Phí Vận Hành Là Gì - Chi Phí Để Vận Hành Công Ty Vừa Và Nhỏ


Thiền quán vai trung phong là gì

Tứ Niệm Xứ (Pali; Skt: smṛtyupasthāna) là một trong những thuật ngữ Phật giáo quan lại trọng, tức là sự thiết lập, phát hành chánh niệm thức giấc giác tuyệt chánh niệm hiện nay ...


Thế nào là cửa hàng tính