OpenCV像素点处理
转自:http://blog.csdn.net/hxgqh/archive/2011/02/23/6202001.aspx
获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。
OpenCV中,CvScalar结构为:
typedef struct CvScalar
{
double val[4];
}
CvScalar;
4个double型变量,算法处理时不至于被强制类型转换而降低精度了。
再来看读写函数的定义:
cvGet2D 获得某个点的值, idx0=hight 行值, idx1=width 列值。
CVAPI(CvScalar) cvGet2D( const CvArr* arr, int idx0, int idx1 );
cvSet2D 给某个点赋值。
CVAPI(void) cvSet2D( CvArr* arr, int idx0, int idx1, CvScalar value );
有上可见,cvGet2D的返回类型和cvSet2D中value的类型都是CvScalar,这样定义一个CvScalar变量再调用函数就OK了。
OpenCV中像素点读写例子:
int main(int argc, char **argv)
{
IplImage *img = cvLoadImage(argv[1], 1);
CvScalar pixel;
for (int i = 0; i < img->height; ++i)
{
for (int j = 0; j < img->width; ++j)
{
//获得像素的RGB值并显示, 注意内存中存储顺序是BGR
pixel = cvGet2D(img, i, j);
printf("B=%f,G=%f,R=%f/t", pixel.val[0], pixel.val[1], pixel.val[2]);
//修改各点的值
pixel.val[0] = 0;
pixel.val[1] = 0;
pixel.val[2] = 0;
cvSet2D(img, i, j, pixel);
}
}
cvNamedWindow("image", 1);
cvShowImage("image", img);
cvWaitKey(0);
cvDestroyWindow("image");
cvReleaseImage(&img);
return 0;
}
OpenCV像素点处理相关推荐
- OpenCV像素点邻域遍历效率比较,以及访问像素点的几种方法
OpenCV像素点邻域遍历效率比较,以及访问像素点的几种方法 前言: 以前笔者在项目中经常使用到OpenCV的算法,而大部分OpenCV的算法都需要进行遍历操作,而且很多遍历操作都是需要对目标像素点的 ...
- OpenCV像素点处理 1
获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到. OpenCV中,CvScalar结构为: ...
- OpenCV像素点的计算,好家伙,直接降龄化教学。。。代码对图片的神奇操作~~~~~~
opecv浅记 这篇博客从代码,理论以及一些实际操作角度讲解像素运算 长文 文章目录 opecv浅记 像素点的运算 1.像素点 2.对像素点运算 ①.普通运算 ②.逻辑运算 3.简单应用及其原理 ①. ...
- OpenCv像素点获取与修改
1.matlab获取彩色图像像素值的方法 img=imread('test.jpg'); img1=img(:,:,1); img2=img(:,:,2); img3=img(:,:,3); 三通道排 ...
- numpy PIL tensor之间的相互转换
图片的读取通常有两种格式,一种是PIL,一种是opencv.两种读取方式存在一些区别 图片格式不同,Image读入的是"RGB",Opencv读入的是"BGR" ...
- OPencv java Mat 基本操作像素点(7)
前面我们说到了用Mat类进行行列式的计算,可能在OPenCv中不算太实用,那么今天我们介绍一个比较使用的,图片中的像素点 我们知道OpenCv当我们read一个图片的时候,返回的结果是一个Mat 一. ...
- 图像像素点赋值_Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像...
普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需要注意的是, OpenCV 读取图像是 BGR 存储显示. 灰度图片读 ...
- 【OpenCV】OpenCV访问像素点的三种方式
环境配置 VS2013+OpenCV3.0+Win7(X64) 前言 OpenCV是图像处理最常用的库之一.它提供了许多常用的图像处理算法相关的函数,极大地方便了图像处理方法的开发,而图 ...
- OpenCV学习笔记:创建/分配图像、图像读写保存、图像像素点访问修改
环境:CentOS7 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) $ pkg-config --modversion opencv 2.4.13 以下程序的 ...
最新文章
- 使用git更新github上的开源项目
- CV领域中的Bert,了解一下?
- 安装php出现 “make: *** [ext/gd/libgd/gd_jpeg.lo] Error ”
- 网络:XSS和HttpOnly
- Vue-第七天 学习与相关问题总结
- ITK:创建前向差异内核
- 需求: 计算一下你来到这个世界多少天 拓展:改成 生日是键盘录入的 而且可以循环录入 直到录入 exit 结束循环
- java如何转成jar包,修改及反编译可运行Jar包实现过程详解
- SDEBECMSrv服务
- java 日期_Java中的日期操作
- 5W2H分析法,哪哪儿都能用到的方法,人生也可以套路进来
- Java实现的大整数分解Pollard's rho算法程序
- dubbo protocol port 消费者端_Dubbo 优雅停机演进之路
- 程序员面试 IT 公司,这些地方你要注意!
- Docker容器中安装JDK
- MySQL数据库 实验报告(三)
- 天池项目总结,特征工程了解一下!
- GNSS《GPS测量原理及应用》复习题集
- Win10 安装Docker 杂记
- [BZOJ1050] [HAOI2006] 旅行comf (Kruskal, LCT)