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