![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
一瞬秒年
简单从一
展开
-
Opencv imread 不能正常读取
src = imread("lena.bmp"); if(!src.data) { printf("No data!--Exiting the program \n"); return -1; } 在配置opencv的时候,关联的库,若在debug模式下,关联的库有没带的话,是不能正常读取的,所以后续不要图省事,debug下关联原创 2016-03-24 13:08:22 · 1441 阅读 · 0 评论 -
OpenCV 距离变换的笔记
目前正在学习<图像处理,分析与机器视觉>里面有提到距离变换计算,以此笔记记录生活。 距离变换的定义 :计算图像中像素点到最近零像素点的距离,也就是零像素点的最短距离。Mat srcImage = imread("/Users/hanoi/Desktop/hand.jpg",0);Mat dist_image(size,CV_32FC1);distanceTransform(srcImage,原创 2017-06-02 09:57:05 · 2654 阅读 · 4 评论 -
直方图均衡化处理
直方图均衡化可以增强图像的对比度,直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同 算法步骤: 1)计算图像f(x,y)的各灰度级中像素出现的概率p(i)。2) 计算p的累计概率函数c(i),c即为图像的累计归一化直方图3)将c(i)缩放至0~原创 2017-06-02 17:14:44 · 3536 阅读 · 0 评论 -
高斯模版生成代码
二维高斯分布公式: int k =2; int row =2*k + 1; int col =2*k + 1; double sigma =1; double *array =new double[row*col]; double dFenzi =0.0; double pi原创 2017-07-17 16:58:32 · 373 阅读 · 0 评论 -
图像的频域变换
具体代码如下:int main(int argc,char *argv[]){ Mat image = imread("/Users/hanoi/Desktop/lena.bmp",0); printf("width=%d,height=%d\n",image.rows,image.cols); Mat padded; int m = getOp原创 2017-07-18 12:10:56 · 2497 阅读 · 0 评论 -
利用FFTW3生成图像频谱模板
//进行频谱的中心化void fftshift(Mat source, Mat &dest){ int row = source.rows; int col = source.cols; int halfRow = row / 2; int halfCol = col / 2; int temp = 0; for (size_t j = 0; j < row; j++) {原创 2017-08-18 16:36:39 · 2710 阅读 · 0 评论 -
Opencv + FFTW3 图象高斯高低通滤波
1:LPF公式:out(i,j)= exp(-((i-M/2)^2+(j-N/2)^2)/2/sigma^2);代码: void LPF_Fliter(vector&data, int cols, int rows, double gamma){ float gamma22 = 2 * gamma*gamma; float temp = 0.0; i原创 2017-08-19 13:58:35 · 2139 阅读 · 6 评论 -
基于OpenCv的金属表面划痕检测
//源文件:http://blog.csdn.net/chailiren/article/details/65448932在实际应用中,得到的图像的阈值不太理想时通过固定阈值分割很难得到所要提取的特征,因此Halcon中 含有动态阈值分割法,即首先对图像进行均值滤波,然后与现有图像最差后进行阈值分割。该方法适合比较 小的特征提取,例如金属表面的划痕、丝网的漏洞等。本例提取丝网上转载 2017-08-19 14:44:30 · 20619 阅读 · 1 评论