图像处理基础–像素遍历,浅拷贝,深拷贝
这篇博客主要根据高翔的《视觉SLAM14讲》的开源代码进行学习,在Windows上,采用VS2019对代码进行编译。
find_package( OpenCV 3 REQUIRED )
set(OpenCV_DIR "D:/Code/SLAM/ORB_SLAM2/Thirdparty/opencv/sources/build/install/lib")
find_package(OpenCV REQUIRED)
修改opencv的路径
采用VS2019对代码进行编译的,修改CMakeList.txt,之后,可以生成成功。
由于代码用的不是utf8,可能需要在VS中修改代码为utf8格式,修改后,可以编译通过。
运行阶段,会报缺少opencv_highgui2413d.dll动态库的问题,复制对应的动态库到Debug目录下即可。或者把库文件对应的路径添加到环境变量里。
代码实现的功能
遍历图像
for ( size_t y=0; y<image.rows; y++ )
{
// 用cv::Mat::ptr获得图像的行指针
unsigned char* row_ptr = image.ptr<unsigned char> ( y ); // row_ptr是第y行的头指针
for ( size_t x=0; x<image.cols; x++ )
{
// 访问位于 x,y 处的像素
unsigned char* data_ptr &