Ảnh nhị phân chỉ có hai màu: đen và trắng. Từ góc độ xử lý ảnh, pixel chỉ có hai giá trị: 0 (đen) và 1 (trắng). Ảnh xám có 256 giá trị, ảnh nhị phân chỉ có 2. Ứng dụng: biến đổi hình thái, tách đối tượng từ nền, v.v.
Quy trình: Chuyển ảnh gốc sang xám, sau đó dùng threshold() để tạo ảnh nhị phân.
cvtColor(original_image, grayscale_image, COLOR_BGR2GRAY); threshold(grayscale_image, binary_image, 100, 255, THRESH_BINARY);
Ví dụ
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat original_image, grayscale_image, binary_image;
namedWindow("Original Image");
namedWindow("Show Binary");
original_image = imread("teddy.jpg");
cvtColor(original_image, grayscale_image, COLOR_BGR2GRAY);
threshold(grayscale_image, binary_image, 100, 255, THRESH_BINARY);
imshow("Original Image", original_image);
imshow("Show Binary", binary_image);
waitKey(0);
return 0;
}
Kết quả
