随笔分类 - 图像处理
记录项目或者学习过程中图像处理的知识。
摘要:缩放图像是图像处理中需要经常使用的操作。太小的图像在图像识别中不能很好的处理,需要将其放大,太大的图像不方便储存,需要将其缩小,下面记录OpenCV图片缩放方法。 缩放函数 void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEA...
阅读全文
摘要:1.随机颜色 OpenCV中自带了取随机数的方法,使用步骤: RNG rng( 0xFFFFFFFF ); 随机数 = rng.uniform( 下限,上限 ); 2.显示文字 void putText(Mat& img, const string& text, Point org, int fontFace, double fontScale, Scalar color, int thi...
阅读全文
摘要:有时程序中需要画一些基础的图形,例如直线,矩形,椭圆以及多边形。OpenCV中当然有此类函数。 1.函数介绍 直线line: void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0) img – 图像 pt1 – 直线起点 pt2 – 直...
阅读全文
摘要:在一个识别软件中发现了Asprise OCR的“身影”,上官网查了一下相关信息,发现功能挺强大的,识别印刷体应该不错,遗憾的是好像不能识别中文,不过不知道它对扭曲后的英文识别能力怎么样,否则的话可以用来识别验证码。在官网下载了C++的Demo,这里记录一下。 1.准备 在官网下载C++的Dll和头文件,创建使用VS2010创建win32工程,将下载的dll和文件拷贝到创建的工程目录。 2.代码...
阅读全文
摘要:1. 理论 图片的转换就是将图片中的每个像素点经过一定的变换,得到新像素点,新像素点组合成一张新的图片。 改变图片对比度和亮度的变换如下: 其中α和β被称作增益参数(gain parameter)和偏差参数(bias parameter),分别控制对比度和亮度。 2. 实现代码 使用上述公式实现改变对比度和亮度的代码如下: void ContrastAndBrightness(const M...
阅读全文
摘要:1. 原理对两张图片使用如下公式可以得到两张图片的混合图片,其中f0(x),f1(x)分别是图片1和图片2同一位置的像素点。2. OpenCV中的AddWeight函数函数和参数说明:void addWeighted(InputArray src1, double alpha, InputArray...
阅读全文
摘要:Mask operations 翻译为中文应该是掩模操作,具体操作步骤就是根据一个操作矩阵(又名kernel)处理图片中的每一个像素点,操作矩阵会根据当前像素点的周围像素来调整当前像素值。 1.示例 以一个增强图片对比度的示例来说明Mask operations。增强对比度的公式如下: 公式左右两边都能实现同样的操作,但是右边矩阵形式看起来更加好看些。 2.测试代码 本文分别使用两种方法实现...
阅读全文
摘要:目标: 1.从图片文件打开图片(imread) 2.显示图片(namedWindow和imshow) 3.转换当前图片为灰色图片(cvtColor) 4.保存图片(imwrite) 代码: API说明: Mat:储存图片数据的结构,后面会详细说明。 filename:需要加载的文件名 flags:加
阅读全文
摘要:看到的不是自己的,只有写下来的才是自己的,上次接触OpenCV实在三个月前,亢奋的看完了OpenCV自带的入门文档,觉得对图形处理有了一点点了解,现在三个月过去了,由于学习需要,想深入了解OpenCV,发现之前学过的知识在脑袋里零零散散的,所以想重读入门文档,同时将其记录下来。部分内容我会根据自己的
阅读全文
浙公网安备 33010602011771号