Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Cách tạo ảnh nhị phân trong OpenCV bằng C++

Ả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ả

Cách tạo ảnh nhị phân trong OpenCV bằng C++