
计算机视觉
CurryYuan
为君寻遍山河寸土,守护朝朝暮暮
展开
-
使用CImg实现canny边缘检测和跟踪
第一步,函数toGrayScale 将彩色图像转换为灰度图像,根据RGB值和公式计算出灰度值即可,比较简单。CImg<uchar> canny::toGrayScale(){ grayscaled = CImg<uchar>(img.width(), img.height(), 1, 1); cimg_forXY(gr原创 2018-11-02 21:17:58 · 1299 阅读 · 0 评论 -
使用CImg利用霍夫变换检测图像中的直线和圆
检测直线边缘检测首先对图片进行处理,使用上次的代码生成边缘图。(参考上一篇博客)由于这次的目的是为了检测A4纸的边缘,所以不需要中间文字的小边缘,可以在计算sobel算子时增加亮度梯度阀值。由于这次给的图片尺寸很大,这样计算太慢,所以我只采用了高斯模糊和sobel的步骤,并使用CImg的函数来进行灰度化和高斯模糊,并将sobel算子替换为更简单的Prewitt算子,并使用CImg内置的...原创 2018-11-17 22:00:02 · 1076 阅读 · 0 评论 -
利用CImg实现直方图均衡和色彩迁移
直方图均衡(histogram equalization)图像直方图用以表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数。直方图均衡就是将直方图均衡的分布在整个像素空间中,可以提高图像的对比度和视觉效果。实验步骤对于灰度图像,首先统计图像中每个像素的频数和频率然后计算累积概率密度分布函数由于像素都是整数值,使用round函数将小数四舍五入,并拓展到0-255,最后根据原...原创 2018-12-08 22:31:36 · 1097 阅读 · 0 评论 -
利用CImg实现人脸融合
实验目的输入两张人脸图像,根据Image Morphing的方法完成中间 11 帧的差值,得到一张人脸渐变的动图。实验原理Cross-Dissolve 交叉融合,对两张图片每个像素点按一定的比例进行混合,公式:Imagehalfway = (1-t)Image1 + timage2但这种方法只适合图像对齐的情况,对于没有对齐的情况,可以采用局部变形的思想,先根据特征点划分出局部图像,然后...原创 2019-02-05 12:31:46 · 3578 阅读 · 3 评论 -
使用CImg实现A4纸矫正
图像分割图像分割是一个聚类问题,将相似的点聚到一块。这里我采用了mean shift方法。主要分为三个部分:模点搜索,模点聚类(合并相似区域),合并小区域。模点搜索首先确定特征空间,这里选取了空间坐标x,y和色彩空间r,g,b,在实际计算时,是将RGB转换到Lab空间。然后对图像中的每一个点,进行如下操作,对与它位置空间距离小于hr,颜色空间距离小于hs的点求平均值,作为新的中心点。 重复...原创 2019-02-06 16:42:41 · 812 阅读 · 0 评论 -
手写数字识别 [MNIST+CV+AdaBoost]
实验内容输入图像:普通A4纸,上面有手写的如下信息:学号手机号身份证号所有输入格式一致,数字号码不粘连,但是拍照时可能角度不正。输出:根据标准流程输出每一个主要步骤的结果,包括A4纸张的矫正结果,行数据的切割,单个字符的切割结果。对A4纸的四个角、学号、手机号、身份证号进行识别,识别结果保存到Excel表格。实验步骤边缘检测在之前的学习中采用了canny算子或者是...原创 2019-02-06 17:27:22 · 2774 阅读 · 0 评论