
图像处理
文章平均质量分 74
PHILOS_THU
Life has to end, love doesn't!
展开
-
【OpenCV3】cv::divide()使用详解
cv::divide()是一个简单的除法函数,有以下两种用法:用法1:void cv::divide( cv::InputArray src1, // 输入数组1 (分子) cv::InputArray src2, // 输入数组1 (分母) cv::OutputArray dst, // 输出数组 (scale*src1/src2) double scale = 1.0, //...原创 2018-08-12 14:13:32 · 13808 阅读 · 2 评论 -
【caffe】OpenCV Load caffe model
上一篇,我们介绍了opencv_contrib中的模块在windows下的编译,也提到了其中的dnn模块可以读取caffe的训练模型用于目标检测,这里我们具体介绍一下如何使用dnn读取caffe模型并进行目标分类。原创 2017-07-24 11:46:57 · 5990 阅读 · 11 评论 -
【OpenCV3】RGB图像向CMYK颜色空间转换
RGB(红色,绿色,蓝色)是表示光发射的颜色空间。CYMK(青色,黄色,品红色,黑色)表示光吸收的颜色空间原创 2017-06-15 17:39:01 · 10516 阅读 · 5 评论 -
【OpenCV3】将图像指定区域使用另一图像(或ROI)覆盖
在图像处理中,有时会遇到使用使用一幅图像(或ROI)覆盖(替换)另一图像的指定区域,直接的方法是逐个像素进行复制,但这是一种效率很低的操作,下面介绍opencv中一种效率较高且简便的操作。原创 2017-06-02 13:20:35 · 30087 阅读 · 0 评论 -
【OpenCV3】双线性插值
最近找工作, 双线性插值原理:原创 2014-11-03 16:55:04 · 3202 阅读 · 1 评论 -
【OpenCV3】图像的读取、显示与保存
OpenCV3中,图片的读取,通过函数cv::imread()来实现的;显示通过函数cv::imshow()来实现;而保存则通过cv::iimwrite()来实现。原创 2014-12-05 16:14:06 · 25639 阅读 · 2 评论 -
【OpenCV】cv::Mat对单个像素的访问和操作
我们在使用OpenCV进行图像处理的过程中,经常会涉及到对指定位置像素的读取和修改,下面我们就介绍OpenCV中几种常用的对指定位置像素值的读取和修改操作。原创 2017-03-08 10:10:03 · 19503 阅读 · 3 评论 -
【python图像处理】彩色映射
在图像处理,尤其是医学图像处理的过程中,我们经常会遇到将灰度图映射成彩色图的情形,如将灰度图根据灰度的高低映射成彩虹色图。这个过程我们通常将之称为伪彩映射,伪彩映射的关键在于找到合适的彩色映射表,即colormap,也称color bar。前段时间做了一个涉及到伪彩映射的项目,在找colormap的过程中,我发现Python的matplotlib模块中内嵌了一大批常用的colormaps,使用原创 2017-03-08 10:55:27 · 44084 阅读 · 3 评论 -
【算法+OpenCV】基于三次Bezier原理的曲线拟合算法C++与OpenCV实现
Bezier曲线拟合算法是一种相对较容易实现、且拟合的效果较好的算法。关于Bezier曲线原理,请参照(Bezier曲线原理),这里就不再做具体介绍了,我们使用的是Besier三次曲线拟合原理。下面主要介绍算法的实现过程。原创 2017-03-08 17:40:02 · 15085 阅读 · 9 评论 -
【python图像处理】彩色映射(续篇)
在续篇中我们将进一步向大家介绍如何生成自定义colormap。原创 2017-03-09 18:34:30 · 7430 阅读 · 1 评论 -
【算法+OpenCV】图像极坐标变换及基于OpenCV的实现
在医学图像处理,尤其是在处理血管断层扫描类(如OCT、IVUS等)图像的过程中,不可避免的会使用到极坐标变换,也即是我们通常所说的“方转圆”。极坐标变换的关键在于,根据极坐标变换前的图像(我们称为“方图”)确定极坐标变换后的图像(我们称为“圆图”)上每个像素点的像素值。也即是找到“圆图”和“方图”间几何坐标的对应关系。原创 2017-03-23 09:49:44 · 18416 阅读 · 23 评论 -
【OpenCV3】cv::Mat的定义与初始化
cv::Mat是OpenCV2和OpenCV3中基本的数据类型,在cv::Mat类中,关于cv::Mat的定义和初始化有多种不同的形式,这里,将对其进行详尽的总结和介绍。原创 2017-03-27 17:48:18 · 57537 阅读 · 3 评论 -
【OpenCV3】阈值化操作——cv::threshold()与cv::adaptiveThreshold()详解
阈值化操作在图像处理中是一种常用的算法,比如图像的二值化就是一种最常见的一种阈值化操作。opencv2和opencv3中提供了两种阈值化操作接口,即cv::thread()与cv::adaptiveThreshold(),这里将对这两个接口进行介绍和对比。原创 2017-03-29 09:21:53 · 55569 阅读 · 13 评论 -
【OpenCV3】平滑处理详解
“平滑”通常又称“模糊”,是一种简单常用的图像处理操作。进行平滑处理的原因有很多,但通常是用来去除噪声和相机失真,平滑在按照一定的原理来降低图像分辨率中也有重要应用。OpenCV2和OpenCV3中提供了5种不同的平滑处理方法,每一种都有自己相关的库函数,每一个库函数实现的平滑都略有不同。在所有的平滑操作函数中,src和dst两个参数都分别代表源图像和目标图像。除此之外,每一种平滑操作都具有特定的相关操作参数。其中,唯一的共同参数是最后的borderType,这个参数表示平滑操作的过程中如何处理图像的边缘原创 2017-03-29 14:00:45 · 12450 阅读 · 1 评论 -
【caffe】使用自己的图像数据训练lenet并用opencv进行预测
前面已经介绍了使用使用mnist数据集进行训练lenet,并使用opencv加在caffemodel进行预测。更进一步也是最终的目的,还是要学会使用自己的数据集训练caffemodel并进行预测。这里先以训练lenet为例进行说明。原创 2017-08-01 12:22:51 · 5314 阅读 · 4 评论 -
【caffe】windows下vs2013+opencv3.2.0+opencv_contrib(包含dnn)+cmake3.8编译与配置
opencv目前已经支持caffe训练模型的读取,以及使用模型进行预测,这个功能是dnn模块实现的,而这个模块位于opencv_contrib中,此前编译的opencv3.2.0并没有将opencv_contrib中的模块加进来。因此,这里重新将opencv_contrib加入到opencv3.2.0进行编译。原创 2017-07-19 15:23:25 · 4394 阅读 · 0 评论 -
【OpenCV3】cv::convertScaleAbs()使用详解
cv::convertScaleAbs()用于实现对整个图像数组中的每一个元素,进行如下操作: 该操作可实现图像增强等相关操作的快速运算,具体用法如下:void cv::convertScaleAbs( cv::InputArray src, // 输入数组 cv::OutputArray dst, // 输出数组 double alpha = 1.0, // 乘数因子 do...原创 2018-08-12 13:22:41 · 61796 阅读 · 2 评论 -
【OpenCV3】cv::compare()使用详解
cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。具体用法如下:cv::compare() bool cv::compare( cv::InputArray src1, // 输入数组1 cv::InputArray src2, // 输入数组2 cv::OutputArray dst, // 输出数组 int cmpop // 比较操作子,见下表 ...原创 2018-08-12 12:47:36 · 9406 阅读 · 3 评论 -
【OpenCV3】Stitcher图像拼接
OpenCV3中提供了一个用于图像拼接的模块——Stitcher,可以将连续拍摄的图像序列,拼接成一幅全景画面。如下所示是56幅连续拍摄的图像:0.png1.png2.png3.png4.png处理代码如下:#include < stdio.h > #include < opencv2\opencv.hpp > #include < opencv2\stitc...原创 2018-05-22 15:10:00 · 16460 阅读 · 31 评论 -
【OpenCV3】如何给图像添加(不)透明度通道
透明度通道,又叫alpha通道,做用于记录图像的透明度信息。具体参照【百度百科】“alpha通道”中的介绍。透明度确切的说应该叫不透明度(Opacity),取最小值0时,表示完全透明;取最大值255时,表示完全不透明;取值越大表示越不透明。通常遇到的图像如bmp图像、jpg图像都是单通道(灰度图)、RGB三通道(彩色)图像,而没有透明度通道,那么如何使用opencv给没有透明度通道的图像添加透明度...原创 2018-05-03 19:30:03 · 9446 阅读 · 2 评论 -
【OpenCV】IplImage类型图像ROI矩形区域的快速获取
一直使用的是OpenCV C++的接口,但是有些只能用纯c的环境下,就不得不用c接口了,IplImage是c接口图像数据最基本的数据结构,获取其ROI区域的过程如下,首先通过cvSetImageROI(IplImage* src, CvRect rect)设定ROI区域,然后将给部分图像数据拷贝出来,最后通过cvResetImageROI(IplImage* src)重置ROI区域即可。这里为了使...原创 2018-04-21 18:52:16 · 3274 阅读 · 0 评论 -
【OpenCV3】图像最大轮廓检测——cvFindBiggestContour()封装
此前在《【OpenCV3】图像轮廓查找与绘制——cv::findContours()与cv::drawContours()详解》一文中,详细介绍了图像轮廓的检测与绘制,但是在实际的应用中,往往需要检测目标的最大轮廓,但是OpenCV本身并没有封装这样一个函数,下面就贴上封装好的接口,供参考使用。说明:对于最大轮廓的定义,有些以轮廓的点数最多为标准,有的以所包围的面积最大为标准,这里将两种都实现一下...原创 2018-04-23 21:52:07 · 13189 阅读 · 2 评论 -
【算法+图像处理】2D卷积与快速卷积算法C语言实现
卷积算法在图像处理中有着广泛的应用,通常使用的去噪算法、边缘增强算法等的实现都使用到了2D卷积算法。这里介绍一下2D卷积算法和快速卷积算法的C语言实现。原创 2017-10-29 14:52:42 · 10804 阅读 · 16 评论 -
【python图像处理】python绘制3D图形
3D图形在数据分析、数据建模、图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3D图形的绘制,包括3D散点、3D表面、3D轮廓、3D直线(曲线)以及3D文字等的绘制。原创 2017-09-21 11:45:44 · 98462 阅读 · 17 评论 -
【python图像处理】python绘制饼状图
饼状图在统计分析中有着重要的应用,python中用于绘制饼状图是matplotlib中的pyplot类,这里就介绍一下,如何绘制饼状图。原创 2017-09-19 21:12:10 · 5588 阅读 · 0 评论 -
【python图像处理】】python绘制散点图
python中用于绘图是matplotlib模块中的pyplot类,直接使用plot()函数绘制出的是折线图。而绘制散点图使用的是scatter()函数。原创 2017-09-18 20:42:34 · 4909 阅读 · 1 评论 -
【python图像处理】极坐标变换及插值算法
在 图像极坐标变换及基于OpenCV的实现一文中,介绍了图像极坐标变换的基本原理和基于opencv的实现,这里我们再介绍一下基于python的实现,以及在极坐标变换中所用的几种常用的插值算法,即最邻近插值、双线性插值以及三次卷积插值。原创 2017-05-05 09:55:28 · 9359 阅读 · 4 评论 -
【python图像处理】python中定义的颜色
python中的颜色相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪些选颜色。原创 2017-09-04 12:34:31 · 43684 阅读 · 0 评论 -
【python图像处理】gif动态图的解析与合成
gif动态图是在现在已经司空见惯,朋友圈里也经常是一言不合就斗图。这里,就介绍下如何使用python来解析和生成gif图像。原创 2017-08-24 20:11:21 · 36363 阅读 · 6 评论 -
【OpenCV3】OpenCV3.2.0在VS2013环境下Cmake编译与快速配置
官网(opencv.org)目前提供的安装包只提供了vs2015(vc14)的编译版本。所以,若想在其他编译环境(如vs2010、vs2012、vs2013等)下使用,需要下载opencv3.2.0的源码,在cmake下自行编译。我是在64位WIN7+VS2013环境下使用CMake3.7.2进行编译的,在其他Windows版本、其他VS版本、其他OpenCV版本和其他CMake版本下的编译过程都是类似的。原创 2017-03-30 09:12:49 · 14750 阅读 · 9 评论 -
【OpenCV3】几何图形(直线、矩形、圆、椭圆、多边形等)绘制
在图像处理的过程中,我们有时需要在图像或者视频上画上一些图案或者绘上一些文字。OpenCV中提供了各种功能的绘图函数,使用这些函数,我们可以在图像上绘制直线、矩形、圆、椭圆、多边形、以及文字等等。原创 2017-03-30 17:21:19 · 24453 阅读 · 2 评论 -
【python图像处理】图像的读取、显示与保存
python作为机器学习和图像处理的利器,收到越来越多的推崇,特别是在图像处理领域,越来越多的研究和开发开始转向使用python语言,下面就介绍python图像处理中最基本的操作,即图像的读取显示与保存。原创 2017-04-25 13:56:39 · 27094 阅读 · 0 评论 -
【OpenCV3】图像通道分离与合并——cv::split()与cv::merge()详解
在图像处理中,尤其是处理多通道图像时,有时需要对各个通道进行分离,分别处理;有时还需要对分离处理后的各个通道进行合并,重新合并成一个多通道的图像。opencv2和opencv3中实现图像通道的合并与分离的函数分别是cv::split()和cv::merge()。原创 2017-04-27 09:11:06 · 64676 阅读 · 0 评论 -
【python图像处理】图像的增强(ImageEnhance类详解)
python中PIL模块中有一个叫做ImageEnhance的类,该类专门用于图像的增强处理,不仅可以增强(或减弱)图像的亮度、对比度、色度,还可以用于增强图像的锐度。原创 2017-05-03 16:19:59 · 56075 阅读 · 9 评论 -
【python图像处理】txt文件数据的读取与写入
在使用python进行数据和图像处理的过程中,经常会遇到从txt文件中读取数据、已经将处理过程中的矩阵数据写入到txt文件的情形,如在伪彩映射中读取颜色映射表。原创 2017-05-05 09:36:44 · 6297 阅读 · 0 评论 -
【python图像处理】tiff文件的保存与解析
tiff文件是一种常用的图像文件格式,支持将多幅图像保存到一个文件中,极大得方便了图像的保存和处理。python中支持tiff文件处理的是libtiff模块中的TIFF类(libtiff下载链接https://pypi.python.org/pypi/libtiff/)。原创 2017-05-05 10:19:54 · 32149 阅读 · 11 评论 -
【python图像处理】图像的缩放、旋转与翻转
图像的几何变换,如缩放、旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数原创 2017-04-27 09:54:10 · 105036 阅读 · 7 评论 -
【python图像处理】几何图形的绘制与文字的绘制(ImageDraw类详解)
python PIL图像处理模块中的ImageDraw类支持各种几何图形的绘制和文本的绘制,如直线、椭圆、弧、弦、多边形以及文字等。原创 2017-05-05 16:01:33 · 48802 阅读 · 3 评论 -
【python图像处理】图像的滤波(ImageFilter类详解)
在图像处理中,经常需要对图像进行平滑、锐化、边界增强等滤波处理。在使用PIL图像处理库时,我们通过Image类中的成员函数filter()来调用滤波函数对图像进行滤波,而滤波函数则通过ImageFilter类来定义的。原创 2017-05-08 11:50:52 · 29948 阅读 · 0 评论 -
【python图像处理】两幅图像的合成一幅图像(blending two images)
将两幅图像合成一幅图像,是图像处理中常用的一种操作,python图像处理库PIL中提供了多种种将两幅图像合成一幅图像的接口。原创 2017-05-09 10:27:50 · 62249 阅读 · 8 评论