一、OpenCV 图像
灰度图中,用0-255的整数表示灰度大小,一张宽度为640像素,高度为480像素分辨率的灰度图表示为:
unsigned char image[480][640]
二维数组,先行后列
访问图像中某个像素,需要指明他的坐标,灰度值 I(x,y)的读数
unsigned char pixel=image[y][x]
遍历图像:
for(int y=0;y<image.rows;y++)
{
for(int x=0;x<image.cols;x++)
{
//row_ptr是第y行的头指针
unsigned char* row_ptr=image.ptr<unsigned char> (y);
//data_ptr指向待访问的像素数据
unsigned char* data_ptr=&row_ptr[x*image.channels()];
//输出像素的每个通道
for(int c-0;c!=image.channels();c++)
{
unsigned char data=data_ptr[c];
}
}
}
彩色图像通道的默认顺序是B、G、R。
1、imageBasics.cpp
#include <iostream>
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
int main ( int argc, char** argv )
{
// 读取argv[1]指定的图像
cv::Mat image;
image = cv::imread ( argv[1] ); //cv::imread函数读取指定路径下的图像
// 判断图像文件是否正确读取
if ( image.