opencv
Maryhuan
这个作者很懒,什么都没留下…
展开
-
直方图均衡化(python实现)
直方图均衡化用途: 通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好原创 2013-10-17 13:19:13 · 8476 阅读 · 4 评论 -
opencv中setMousecallback的用法
opencv中的鼠标响应的函数是setMouseCallback(),可以实现画图的功能。 c++: void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0) winname:窗口的名字 onMouse:鼠标响应函数,回调函数。指定窗口里每次鼠标时间发原创 2013-10-25 11:31:46 · 13940 阅读 · 0 评论 -
opencv自由抠图
此篇跟上篇画矩形框类似。画框改为画点。用floodfill和带有掩码的copyTo得到抠图。右击确定floodFill中的种子点。参考自http://blog.csdn.net/cv_yuippe/article/details/13035063// substr.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #inclu原创 2013-10-29 21:36:18 · 7180 阅读 · 1 评论 -
opencv中各模块介绍
自2.2版本后,opencv库被划分成多个模块。这些模块编译成库文件后,位于lib文件夹中。opencv_core模块:包含核心功能,尤其是底层数据结构和算法函数。opencv_imgproc模块:包含图像处理函数opencv_highgui模块:包含读写图像及视频的函数,以及操作图形用户界面函数opencv_features2d模块:包含兴趣点检测子,描述子以及兴趣点匹配框架open原创 2013-10-30 10:36:55 · 1531 阅读 · 0 评论 -
opencv中用Resize和图像金字塔改变尺寸的区别
resize和图像金字塔(pydown、pyup)都可以改变图像的大小。具体操作和区别如下:resizeC++: void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )Python: cv2.resi原创 2013-12-04 16:36:39 · 8265 阅读 · 0 评论 -
opencv中Mat的数学运算和基本操作
一、矩阵Mat I,img,I1,I2,dst,A,B;double k,alpha;Scalar s;//是一个结构体,常用来存储像素,比如Scalar s; s=cvGet2D(pImg,x,y);s.val[0],s.val[1],s.val[2]就是对应的图像BGR的值1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,转载 2014-03-18 21:45:03 · 18531 阅读 · 1 评论 -
解读图像傅里叶变换
傅里叶讲的是:任何信号(如图像信号)都可以表示成一系列正弦信号的叠加。傅里叶变换是数字图像处理技术的基础,其通过在时域和频域来回切换图像,对图像的信息特征进行提取和分析。在图像领域就是将图像亮度的变化作为正弦变量。 在冈萨雷斯版里面的解释就非常的形象:一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜。棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定。原创 2014-03-21 10:35:22 · 2995 阅读 · 0 评论 -
多通道图像遍历
方法一:普通遍历for(int y = 0;y < height; y++)//行 { for(int x = 0; x < width; x++)//列 { Scalar pix = srcImg.at(y,x); int channle0 = pix[0]; int channle1 = pix[1]; int channle2 = pix[2];原创 2016-05-06 11:57:04 · 1885 阅读 · 2 评论