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

Cách đọc giá trị pixel ảnh đơn kênh trong OpenCV bằng C++

Ảnh số تتكون từ pixel. OpenCV giúp dễ dàng đọc giá trị pixel. Tuy nhiên, để lấy giá trị pixel, phải xử lý riêng cho ảnh đơn kênh.

Chương trình tải ảnh vào ma trận 'cimage', chuyển đổi sang xám bằng cvtColor(cimage, img, COLOR_BGR2GRAY) và lưu vào ma trận 'img'.

Ví dụ

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main() {
    int x;
    Mat cimage = imread("colors.jpg");
    Mat img;
    cvtColor(cimage, img, COLOR_BGR2GRAY);
    for (int i = 0; i < img.rows; i++) {
        for (int j = 0; j < img.cols; j++) {
            x = (int)img.at<uchar>(i, j);
            cout << "Gia tri pixel (" << i << "," << j << ") = " << x << endl;
        }
    }
    imshow("Show", img);
    waitKey();
    return 0;
}

Kết quả

Cách đọc giá trị pixel ảnh đơn kênh trong OpenCV bằng C++