访问Mat图像中每个像素的值
来源:互联网 发布:ye2系列电机绕组数据书 编辑:程序博客网 时间:2024/06/01 10:00
http://blog.csdn.net/xiaowei_cqu/article/details/7771760
小魏的修行路
Talk is cheap. Show me the code.
【OpenCV】访问Mat图像中每个像素的值
目录(?)[+]
今天百度搜资料还搜到了自己的。。。《访问图像中每个像素的值》,这是之前写的了,用的也是2.0的风格IplImage*格式,不太适用后来Mat的格式,特此重写一篇。
以下例子源自《The OpenCV Tutorials --Release 2.4.2》2.2 How to scan images, lookup tables and time measurement with OpenCV
图像容器Mat
访问图像中的像素
高效的方法:C操作符[ ]
- Mat& ScanImageAndReduceC(Mat& I, const uchar* const table)
- {
- // accept only char type matrices
- CV_Assert(I.depth() != sizeof(uchar));
- int channels = I.channels();
- int nRows = I.rows ;
- int nCols = I.cols* channels;
- if (I.isContinuous())
- {
- nCols *= nRows;
- nRows = 1;
- }
- int i,j;
- uchar* p;
- for( i = 0; i < nRows; ++i)
- {
- p = I.ptr<uchar>(i);
- for ( j = 0; j < nCols; ++j)
- {
- p[j] = table[p[j]];
- }
- }
- return I;
- }
- int nRows = I.rows * channels;
- int nCols = I.cols;
- uchar* p = I.data;
- for( unsigned int i =0; i < ncol*nrows; ++i)
- *p++ = table[*p];
安全的方法:迭代器iterator
相比用指针直接访问可能出现越界问题,迭代器绝对是非常安全的方法:- Mat& ScanImageAndReduceIterator(Mat& I, const uchar* const table)
- {
- // accept only char type matrices
- CV_Assert(I.depth() != sizeof(uchar));
- const int channels = I.channels();
- switch(channels)
- {
- case 1:
- {
- MatIterator_<uchar> it, end;
- for( it = I.begin<uchar>(), end = I.end<uchar>(); it != end; ++it)
- *it = table[*it];
- break;
- }
- case 3:
- {
- MatIterator_<Vec3b> it, end;
- for( it = I.begin<Vec3b>(), end = I.end<Vec3b>(); it != end; ++it)
- {
- (*it)[0] = table[(*it)[0]];
- (*it)[1] = table[(*it)[1]];
- (*it)[2] = table[(*it)[2]];
- }
- }
- }
- return I;
- }
这种方式虽然安全,但是挺慢的,一会儿就知道了。
更慢的方法:动态地址计算
- Mat& ScanImageAndReduceRandomAccess(Mat& I, const uchar* const table)
- {
- // accept only char type matrices
- CV_Assert(I.depth() != sizeof(uchar));
- const int channels = I.channels();
- switch(channels)
- {
- case 1:
- {
- for( int i = 0; i < I.rows; ++i)
- for( int j = 0; j < I.cols; ++j )
- I.at<uchar>(i,j) = table[I.at<uchar>(i,j)];
- break;
- }
- case 3:
- {
- Mat_<Vec3b> _I = I;
- for( int i = 0; i < I.rows; ++i)
- for( int j = 0; j < I.cols; ++j )
- {
- _I(i,j)[0] = table[_I(i,j)[0]];
- _I(i,j)[1] = table[_I(i,j)[1]];
- _I(i,j)[2] = table[_I(i,j)[2]];
- }
- I = _I;
- break;
- }
- }
- return I;
- }
减小颜色空间 color space reduction
0~9 范围的像素值为 0
10~19 范围的像素值 为 10
20~29 范围的像素值为 20
。。。。。。
着这样的操作将颜色取值降低为 26*26*26 种情况。这个操作可以用一个简单的公式:
在处理图像像素时,每个像素需要进行一遍上述计算也需要一定的时间花销。但我们注意到其实只有 0~255 种像素,即只有256种情况。进一步可以把256种计算好的结果提前存在表中 table 中,这样每种情况不需计算直接从 table 中取结果即可。
- int divideWith=10;
- uchar table[256];
- for (int i = 0; i < 256; ++i)
- table[i] = divideWith* (i/divideWith);
- p[j] = table[p[j]];
LUT : Look up table
OpenCV 很聪明的有个 LUT 函数就是针对这种 Look up talbe 的操作:- Mat lookUpTable(1, 256, CV_8U);
- uchar* p = lookUpTable.data;
- for( int i = 0; i < 256; ++i)
- p[i] = table[i];
- for (int i = 0; i < times; ++i)
- LUT(I, lookUpTable, J);
算法计时
- double t;
- t = (double)getTickCount();
- t = 1000*((double)getTickCount() - t)/getTickFrequency();
- t /= times;
实验结果
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7771760
实验代码下载:http://download.csdn.net/detail/xiaowei_cqu/4443761
- 顶
- 30
- 踩
- 0
- 猜你在找
- 18楼 aprhz 2013-11-01 12:48发表 [回复]
- I.ptr<uchar>(i)是什么意思?
- 17楼 小魔大树哥 2013-10-17 17:01发表 [回复]
- 单通道(灰度图)的读取像素 最后像素值放在哪 table还是p中,初学者请教小魏,还有const uchar*const table[352*288];
uchar *p = I.data ;这两行代码过不去,类型不一致
- 16楼 byctw 2013-06-05 11:49发表 [回复]
- 请问:
Mat outfile; 要访问其第二个像素
用 outfile.data[1] 的语法是否也可以?
- 15楼 masikkk 2013-06-03 20:23发表 [回复]
- 知道什么是LUT了
- 14楼 cxchenxingcool 2013-04-18 00:14发表 [回复]
- 由IplImage*转到Mat,总感觉不适应,在二者之间只能IplImage与Mat互换
- 13楼 郑海波 2013-03-26 11:28发表 [回复]
- 楼主对android版的OpenCV可有研究?里面的Mat(java版)元素如何访问?
- Re: xiaowei_cqu 2013-03-26 13:12发表 [回复]
- 回复NUPTboyZHB:没用过
- 12楼 AaBb301 2012-12-03 21:05发表 [回复]
- 2了,看到下面原来里有介绍,呵呵
- 11楼 AaBb301 2012-12-03 20:28发表 [回复]
- 突然明白好像是”离散量化“的,请问博主是这个主要功能吗
- Re: xiaowei_cqu 2012-12-03 20:57发表 [回复]
- 回复AaBb301:嗯,用来减小颜色空间
- Re: AaBb301 2012-12-03 21:06发表 [回复]
- 回复xiaowei_cqu:嗯 谢谢博主
- 10楼 AaBb301 2012-12-03 20:21发表 [回复]
- 想问下博主,ScanImageAndReduceC函数参数里那个table有什么用啊,我刚学opencv,很多不懂
- 9楼 zhangnzhen 2012-11-20 13:27发表 [回复]
- 代码里lut的计时部分错了,t=(double)getTickCount()应该在代码执行前面。要不这速度也太发指了~
- 8楼 xiaojidan2011 2012-09-11 13:45发表 [回复]
- 哦哦哦哦 不好意思的 我刚刚调试了下的 单幅是可以显示的 成功了 嘻嘻 可能运行的时候占据内存太大了的原因的 ,搞不懂 了
- 7楼 xiaojidan2011 2012-09-11 13:41发表 [回复]
- 代码运行编译都没什么问题,局势显示的时候 窗口全部是灰色的,貌似图像的值没有传进去的
- 6楼 xiaojidan2011 2012-09-11 13:38发表 [回复]
- 写的很好的呀 但是我跑了代码 却显示不出图像,是怎么回事的呀
- 5楼 jizhihang2000 2012-09-07 14:00发表 [回复]
- “另外要注意的是在三通道图像中我们定义的是 <Vec3b>格式的迭代器,如果定义成uchar,则只能访问到B即蓝色通道的值。”
为什么不是所有像素的所有通道都访问了一遍?- Re: xiaowei_cqu 2012-09-07 14:37发表 [回复]
- 回复jizhihang2000:三通道像素是BRG排放的,相当于每个元素里放了三个uchar。迭代器定义成uchar只取出了第一个B的值,你可以试试
- 4楼 caiqi1123 2012-09-07 10:33发表 [回复]
- 才女:
代码
03. // accept only char type matrices
04. CV_Assert(I.depth() != sizeof(uchar));
有问题吧?改为:
// accept only char type matrices
CV_Assert(mat.depth() == CV_8U);- Re: xiaowei_cqu 2012-09-07 10:42发表 [回复]
- 回复caiqi1123:我传递的参数是I;而且CV_8U不就是uchar的类型嘛
- Re: caiqi1123 2012-09-07 10:58发表 [回复]
- 回复xiaowei_cqu:回复caiqi1123:CV_8U 宏是0哦。sizeof(uchar)=8
mat.depth() 返回的是CV_8U。仅供探讨啊。
- 3楼 afery 2012-09-06 17:25发表 [回复]
- 有翻译版的看诶
- 2楼 meiqingfly 2012-07-23 13:28发表 [回复]
- 这个好呢。。
- Re: xiaowei_cqu 2012-07-23 14:11发表 [回复]
- 回复meiqingfly:没写什么,是tutorials里自带的例子
- 1楼 skiaazure 2012-07-23 07:45发表 [回复]
- 我还是习惯用at。。。
- Re: xiaowei_cqu 2012-07-23 08:46发表 [回复]
- 回复skiaazure:我也是,感觉直接用[]很危险
核心技术类目
- 个人资料
- 访问:644509次
- 积分:11064分
- 排名:第323名
- 原创:139篇
- 转载:0篇
- 译文:1篇
- 评论:1723条
xiaowei_cqu
- 博客专栏
- 图像处理
文章:18篇
阅读:44774模式识别文章:13篇
阅读:43860算法设计与分析文章:20篇
阅读:69232OpenCV学习与实践文章:30篇
阅读:294025- 系列索引
- 【我的本科】 (61)
- 【我在读研】 (11)
- 【项目汇总】 (18)
- 文章分类
- 【图像处理】(44)
- 【机器视觉】(36)
- 【算法分析】(34)
- 【数据结构】(5)
- 【编程语言】(41)
- 【工程项目】(30)
- 【模式识别】(15)
- 【移动开发】(8)
- 【文艺青年】(9)
- 文章搜索
- 博主简介
- CS小硕一枚,兴趣领域:计算机视觉、媒体分析、图像处理;认知心理学,生理心理学。
喜欢C++、Matlab、OpenCV、Qt、UML、VS、XMind等各种优秀的、提高码农生产力的工具。
weilan.cqu#gmail.com
- 阅读排行
- 【OpenCV】SIFT原理与源码分析(23666)
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图(22174)
- 【OpenCV】访问Mat图像中每个像素的值(21945)
- 【OpenCV】图像几何变换:旋转,缩放,斜切(19629)
- 【OpenCV】边缘检测:Sobel、拉普拉斯算子(18858)
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造(17224)
- 【OpenCV】访问图像中每个像素的值(16641)
- 【OpenCV】数字图像灰度直方图(16327)
- 【Error】安装VS2012后VS2010工程失败(15621)
- 【OpenCV】基于Adaboost和Haar-like特征人脸识别(12845)
- 评论排行
- 【大学生活】在软件学院的那些课(106)
- 【面向对象】小游戏“终结者”程序的设计与实现(81)
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造(66)
- 【OpenCV】图像几何变换:旋转,缩放,斜切(49)
- 【算法分析】查找算法:二分查找、顺序查找(48)
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图(45)
- 【博客分享】优秀的有趣的博客(45)
- 【OpenCV】访问图像中每个像素的值(43)
- 【OpenCV】数字图像灰度直方图(40)
- 【UML】UML几种图的绘制(39)
- 最新评论
- 【计算机视觉】步态能量图GEI
学生新手: 我想问问怎么用MATLAB把保存在TXT文本中的GEI转换成图片
- 【计算机视觉】会议投稿相关推荐
masikkk: http://www.wikicfp.com/cfp/这个网站好,有用,多谢大牛
- 【OpenCV】访问图像中每个像素的值
XiaoShuoYiMei: LZ,又来叨扰了。。。我想把一个cvMat矩阵转化成一幅图片,结果运行出来是灰色的,不知道怎么改,还...
- 【模式识别】SVM核函数
蝴蝶也可以飞过沧海: 第二个多项式核函数是不是少了个y呢?
- 【OpenCV】视频标注工具
frank133788: 你好,你给的链接怎么打不开啊,我想下载你的源码。
- 【模式识别】Learning To Rank之RankBoost
xiaojidan2011: 用这种learning to rank的思想, 还有什么文章的啊? 麻烦推荐下
- 【计算机视觉】SIFT中LoG和DoG比较
jinjunweina: 确实讲得比较详细,而且也正确。
- 【OpenCV】访问Mat中每个像素的值(新)
lc900411: 您好,看到您前面一篇博客写的灰度图,一般存放类型;如果是RGB彩色图,存放类型。我想问一下 ...
- 【模式识别】OpenCV中使用神经网络 CvANN_MLP
SCU_911: 为什么运行后只有一个黑框,不显示图片,无错误。。。
- 【OpenCV】基元检测 Primitive Detection
Mermesworth: 学姐,nonfree里的头文件在哪下的?我怎么就找不到呢
小魏的修行路
Talk is cheap. Show me the code.
【OpenCV】访问Mat图像中每个像素的值
目录(?)[+]
今天百度搜资料还搜到了自己的。。。《访问图像中每个像素的值》,这是之前写的了,用的也是2.0的风格IplImage*格式,不太适用后来Mat的格式,特此重写一篇。
以下例子源自《The OpenCV Tutorials --Release 2.4.2》2.2 How to scan images, lookup tables and time measurement with OpenCV
图像容器Mat
访问图像中的像素
高效的方法:C操作符[ ]
- Mat& ScanImageAndReduceC(Mat& I, const uchar* const table)
- {
- // accept only char type matrices
- CV_Assert(I.depth() != sizeof(uchar));
- int channels = I.channels();
- int nRows = I.rows ;
- int nCols = I.cols* channels;
- if (I.isContinuous())
- {
- nCols *= nRows;
- nRows = 1;
- }
- int i,j;
- uchar* p;
- for( i = 0; i < nRows; ++i)
- {
- p = I.ptr<uchar>(i);
- for ( j = 0; j < nCols; ++j)
- {
- p[j] = table[p[j]];
- }
- }
- return I;
- }
- int nRows = I.rows * channels;
- int nCols = I.cols;
- uchar* p = I.data;
- for( unsigned int i =0; i < ncol*nrows; ++i)
- *p++ = table[*p];
安全的方法:迭代器iterator
相比用指针直接访问可能出现越界问题,迭代器绝对是非常安全的方法:- Mat& ScanImageAndReduceIterator(Mat& I, const uchar* const table)
- {
- // accept only char type matrices
- CV_Assert(I.depth() != sizeof(uchar));
- const int channels = I.channels();
- switch(channels)
- {
- case 1:
- {
- MatIterator_<uchar> it, end;
- for( it = I.begin<uchar>(), end = I.end<uchar>(); it != end; ++it)
- *it = table[*it];
- break;
- }
- case 3:
- {
- MatIterator_<Vec3b> it, end;
- for( it = I.begin<Vec3b>(), end = I.end<Vec3b>(); it != end; ++it)
- {
- (*it)[0] = table[(*it)[0]];
- (*it)[1] = table[(*it)[1]];
- (*it)[2] = table[(*it)[2]];
- }
- }
- }
- return I;
- }
这种方式虽然安全,但是挺慢的,一会儿就知道了。
更慢的方法:动态地址计算
- Mat& ScanImageAndReduceRandomAccess(Mat& I, const uchar* const table)
- {
- // accept only char type matrices
- CV_Assert(I.depth() != sizeof(uchar));
- const int channels = I.channels();
- switch(channels)
- {
- case 1:
- {
- for( int i = 0; i < I.rows; ++i)
- for( int j = 0; j < I.cols; ++j )
- I.at<uchar>(i,j) = table[I.at<uchar>(i,j)];
- break;
- }
- case 3:
- {
- Mat_<Vec3b> _I = I;
- for( int i = 0; i < I.rows; ++i)
- for( int j = 0; j < I.cols; ++j )
- {
- _I(i,j)[0] = table[_I(i,j)[0]];
- _I(i,j)[1] = table[_I(i,j)[1]];
- _I(i,j)[2] = table[_I(i,j)[2]];
- }
- I = _I;
- break;
- }
- }
- return I;
- }
减小颜色空间 color space reduction
0~9 范围的像素值为 0
10~19 范围的像素值 为 10
20~29 范围的像素值为 20
。。。。。。
着这样的操作将颜色取值降低为 26*26*26 种情况。这个操作可以用一个简单的公式:
在处理图像像素时,每个像素需要进行一遍上述计算也需要一定的时间花销。但我们注意到其实只有 0~255 种像素,即只有256种情况。进一步可以把256种计算好的结果提前存在表中 table 中,这样每种情况不需计算直接从 table 中取结果即可。
- int divideWith=10;
- uchar table[256];
- for (int i = 0; i < 256; ++i)
- table[i] = divideWith* (i/divideWith);
- p[j] = table[p[j]];
LUT : Look up table
OpenCV 很聪明的有个 LUT 函数就是针对这种 Look up talbe 的操作:- Mat lookUpTable(1, 256, CV_8U);
- uchar* p = lookUpTable.data;
- for( int i = 0; i < 256; ++i)
- p[i] = table[i];
- for (int i = 0; i < times; ++i)
- LUT(I, lookUpTable, J);
算法计时
- double t;
- t = (double)getTickCount();
- t = 1000*((double)getTickCount() - t)/getTickFrequency();
- t /= times;
实验结果
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7771760
实验代码下载:http://download.csdn.net/detail/xiaowei_cqu/4443761
- 顶
- 30
- 踩
- 0
- 猜你在找
- 18楼 aprhz 2013-11-01 12:48发表 [回复]
- I.ptr<uchar>(i)是什么意思?
- 17楼 小魔大树哥 2013-10-17 17:01发表 [回复]
- 单通道(灰度图)的读取像素 最后像素值放在哪 table还是p中,初学者请教小魏,还有const uchar*const table[352*288];
uchar *p = I.data ;这两行代码过不去,类型不一致
- 16楼 byctw 2013-06-05 11:49发表 [回复]
- 请问:
Mat outfile; 要访问其第二个像素
用 outfile.data[1] 的语法是否也可以?
- 15楼 masikkk 2013-06-03 20:23发表 [回复]
- 知道什么是LUT了
- 14楼 cxchenxingcool 2013-04-18 00:14发表 [回复]
- 由IplImage*转到Mat,总感觉不适应,在二者之间只能IplImage与Mat互换
- 13楼 郑海波 2013-03-26 11:28发表 [回复]
- 楼主对android版的OpenCV可有研究?里面的Mat(java版)元素如何访问?
- Re: xiaowei_cqu 2013-03-26 13:12发表 [回复]
- 回复NUPTboyZHB:没用过
- 12楼 AaBb301 2012-12-03 21:05发表 [回复]
- 2了,看到下面原来里有介绍,呵呵
- 11楼 AaBb301 2012-12-03 20:28发表 [回复]
- 突然明白好像是”离散量化“的,请问博主是这个主要功能吗
- Re: xiaowei_cqu 2012-12-03 20:57发表 [回复]
- 回复AaBb301:嗯,用来减小颜色空间
- Re: AaBb301 2012-12-03 21:06发表 [回复]
- 回复xiaowei_cqu:嗯 谢谢博主
- 10楼 AaBb301 2012-12-03 20:21发表 [回复]
- 想问下博主,ScanImageAndReduceC函数参数里那个table有什么用啊,我刚学opencv,很多不懂
- 9楼 zhangnzhen 2012-11-20 13:27发表 [回复]
- 代码里lut的计时部分错了,t=(double)getTickCount()应该在代码执行前面。要不这速度也太发指了~
- 8楼 xiaojidan2011 2012-09-11 13:45发表 [回复]
- 哦哦哦哦 不好意思的 我刚刚调试了下的 单幅是可以显示的 成功了 嘻嘻 可能运行的时候占据内存太大了的原因的 ,搞不懂 了
- 7楼 xiaojidan2011 2012-09-11 13:41发表 [回复]
- 代码运行编译都没什么问题,局势显示的时候 窗口全部是灰色的,貌似图像的值没有传进去的
- 6楼 xiaojidan2011 2012-09-11 13:38发表 [回复]
- 写的很好的呀 但是我跑了代码 却显示不出图像,是怎么回事的呀
- 5楼 jizhihang2000 2012-09-07 14:00发表 [回复]
- “另外要注意的是在三通道图像中我们定义的是 <Vec3b>格式的迭代器,如果定义成uchar,则只能访问到B即蓝色通道的值。”
为什么不是所有像素的所有通道都访问了一遍? - Re: xiaowei_cqu 2012-09-07 14:37发表 [回复]
- 回复jizhihang2000:三通道像素是BRG排放的,相当于每个元素里放了三个uchar。迭代器定义成uchar只取出了第一个B的值,你可以试试
- 4楼 caiqi1123 2012-09-07 10:33发表 [回复]
- 才女:
代码
03. // accept only char type matrices
04. CV_Assert(I.depth() != sizeof(uchar));
有问题吧?改为:
// accept only char type matrices
CV_Assert(mat.depth() == CV_8U); - Re: xiaowei_cqu 2012-09-07 10:42发表 [回复]
- 回复caiqi1123:我传递的参数是I;而且CV_8U不就是uchar的类型嘛
- Re: caiqi1123 2012-09-07 10:58发表 [回复]
- 回复xiaowei_cqu:回复caiqi1123:CV_8U 宏是0哦。sizeof(uchar)=8
mat.depth() 返回的是CV_8U。仅供探讨啊。
- 3楼 afery 2012-09-06 17:25发表 [回复]
- 有翻译版的看诶
- 2楼 meiqingfly 2012-07-23 13:28发表 [回复]
- 这个好呢。。
- Re: xiaowei_cqu 2012-07-23 14:11发表 [回复]
- 回复meiqingfly:没写什么,是tutorials里自带的例子
- 1楼 skiaazure 2012-07-23 07:45发表 [回复]
- 我还是习惯用at。。。
- Re: xiaowei_cqu 2012-07-23 08:46发表 [回复]
- 回复skiaazure:我也是,感觉直接用[]很危险
核心技术类目
- 个人资料
- 访问:644509次
- 积分:11064分
- 排名:第323名
- 原创:139篇
- 转载:0篇
- 译文:1篇
- 评论:1723条
xiaowei_cqu
- 博客专栏
- 图像处理
文章:18篇
阅读:44774模式识别文章:13篇
阅读:43860算法设计与分析文章:20篇
阅读:69232OpenCV学习与实践文章:30篇
阅读:294025- 系列索引
- 【我的本科】 (61)
- 【我在读研】 (11)
- 【项目汇总】 (18)
- 文章分类
- 【图像处理】(44)
- 【机器视觉】(36)
- 【算法分析】(34)
- 【数据结构】(5)
- 【编程语言】(41)
- 【工程项目】(30)
- 【模式识别】(15)
- 【移动开发】(8)
- 【文艺青年】(9)
- 文章搜索
- 博主简介
- CS小硕一枚,兴趣领域:计算机视觉、媒体分析、图像处理;认知心理学,生理心理学。
喜欢C++、Matlab、OpenCV、Qt、UML、VS、XMind等各种优秀的、提高码农生产力的工具。
weilan.cqu#gmail.com
- 阅读排行
- 【OpenCV】SIFT原理与源码分析(23666)
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图(22174)
- 【OpenCV】访问Mat图像中每个像素的值(21945)
- 【OpenCV】图像几何变换:旋转,缩放,斜切(19629)
- 【OpenCV】边缘检测:Sobel、拉普拉斯算子(18858)
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造(17224)
- 【OpenCV】访问图像中每个像素的值(16641)
- 【OpenCV】数字图像灰度直方图(16327)
- 【Error】安装VS2012后VS2010工程失败(15621)
- 【OpenCV】基于Adaboost和Haar-like特征人脸识别(12845)
- 评论排行
- 【大学生活】在软件学院的那些课(106)
- 【面向对象】小游戏“终结者”程序的设计与实现(81)
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造(66)
- 【OpenCV】图像几何变换:旋转,缩放,斜切(49)
- 【算法分析】查找算法:二分查找、顺序查找(48)
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图(45)
- 【博客分享】优秀的有趣的博客(45)
- 【OpenCV】访问图像中每个像素的值(43)
- 【OpenCV】数字图像灰度直方图(40)
- 【UML】UML几种图的绘制(39)
- 最新评论
- 【计算机视觉】步态能量图GEI
学生新手: 我想问问怎么用MATLAB把保存在TXT文本中的GEI转换成图片
- 【计算机视觉】会议投稿相关推荐
masikkk: http://www.wikicfp.com/cfp/这个网站好,有用,多谢大牛
- 【OpenCV】访问图像中每个像素的值
XiaoShuoYiMei: LZ,又来叨扰了。。。我想把一个cvMat矩阵转化成一幅图片,结果运行出来是灰色的,不知道怎么改,还...
- 【模式识别】SVM核函数
蝴蝶也可以飞过沧海: 第二个多项式核函数是不是少了个y呢?
- 【OpenCV】视频标注工具
frank133788: 你好,你给的链接怎么打不开啊,我想下载你的源码。
- 【模式识别】Learning To Rank之RankBoost
xiaojidan2011: 用这种learning to rank的思想, 还有什么文章的啊? 麻烦推荐下
- 【计算机视觉】SIFT中LoG和DoG比较
jinjunweina: 确实讲得比较详细,而且也正确。
- 【OpenCV】访问Mat中每个像素的值(新)
lc900411: 您好,看到您前面一篇博客写的灰度图,一般存放类型;如果是RGB彩色图,存放类型。我想问一下 ...
- 【模式识别】OpenCV中使用神经网络 CvANN_MLP
SCU_911: 为什么运行后只有一个黑框,不显示图片,无错误。。。
- 【OpenCV】基元检测 Primitive Detection
Mermesworth: 学姐,nonfree里的头文件在哪下的?我怎么就找不到呢
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 访问Mat图像中每个像素的值
- 访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- TMP(模板元编程)实例
- 【LeetCode with Python】 Palindrome Number
- Eclipse+PyDev+Django+Mysql搭建Python web开发环境
- dedecms整合安装discuz!包括ucenter、uchome
- opengl 屏幕 窗口 视口 裁剪区
- 访问Mat图像中每个像素的值
- 网络爬虫供大家一起交流
- AsyncTask详解
- Window C
- 2014/6/30~2014/7/6
- Undefined actionnamespace parameter
- 【LeetCode with Python】 Pascal's Triangle II
- 椭圆形的窗口
- Qwt源码解读之标尺相关类