图像分割工作总结(五)opencv遍历图像
2014-02-28 15:08
393 查看
(1)间接访问(调用函数访问)效率不高
(2)直接访问(单通道单字节)
(3)指针访问(单通道)
指针访问(多通道)
(4)利用C++模板
IplImage*src=cvLoadImage(filename,0); CvScalar s=cvGet2D(src,i,j); printf("%f",s.val[0]); cvSet2D(src,i,j,s);
(2)直接访问(单通道单字节)
IplImage* src=cvLoadImage(filename,0); (uchar*)(src->imagedata+h*src->widthstep)[w]=111;
(3)指针访问(单通道)
uchar* data=(uchar*)src->imagedata; int step=src->widthstep/sizeof(uchar); data[h*step+w]=111;
指针访问(多通道)
float*data=(float*)src->imagedata; int step=src->widthstep/sizeof(float); data[h*step+w*channels+k]=111;
(4)利用C++模板
template<class T> class Image { public: IplImage* pimg; Image(IplImage* img=0){pimg = img;} ~Image(){pimg=0;} void operater=(pimg=img;) inline T* operater[](const int row) {return ((T*)(pimg->imagedata+row*pimg->widthstep));} } struct RgbPixel { unsigned char r,g,b; }; struct RgbPixelFloat { float r,g,b; } Image<unsigned char> imageA(src); imageA[i][j]=111;
相关文章推荐
- 图像分割工作总结(六)opencv的轮廓矩
- 图像分割工作的总结(一)
- 图像分割工作总结(二)字符串
- 图像分割工作总结(三)--文件夹,文件的创建与删除
- 图像分割工作总结(四)--Slider,edit, spin控件的结合使用
- opencv高效访问图像像素(遍历像素的方法总结)
- opencv3_java 提取图像的RGB三原色分割图像Split Core.split
- OpenCV —— 图像局部与分割(二)
- Python OpenCV学习笔记之:使用Grabcut算法进行图像背景和前景分割
- opencv3学习之图像分割和尺寸调整(金字塔/resize)
- OpenCV 1 图像分割--分水岭算法代码
- opencv中图像处理出错情况总结
- OpenCV对图像或矩阵元素遍历的四种方法
- opencv学习(5) 使用迭代器遍历图像的像素
- 指针遍历图像方法总结
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- Opencv 图像分割: 阈值化分割 区域分割 边缘分割
- OpenCV中遍历图像的基本方式
- 分水岭算法分割图像的原理概述及OpenCV代码实现
- Opencv分水岭算法——watershed自动图像分割用法