图像处理
文章平均质量分 63
FishBear_move_on
github 地址 https://github.com/Jayhello
展开
-
人脸检测dlib, mtcnnx对比,FDDB测试对比
问题来源 How does MTCNN perform vs DLIB for face detection?前面一直做人脸检测相关内容,然后对比了下dib以及MTCNN的人脸检测效果主要是速度,以及FDDB准确率。最后给出生成FDDB测试文件的C++代码。FDDB 测试结果注本文的MTCNN效果检测准确率不是最优的,最优的在FDDB上可达95%,测试效果如下:可以看到...原创 2018-07-14 15:20:34 · 10393 阅读 · 3 评论 -
Python下opencv使用笔记(三)(图像的几何变换)
二维与三维图像的几何变换在计算机图形学上有重要的应用,包括现在的许多图像界面的切换、二维与三维游戏画面控制等等都涉及到图像几何变换,就比如说在三维游戏中,控制角色三维移动的时候,画面是要跟着移动的,那么怎么移动,怎么让上一时刻的画面移动到这一时刻,这都是根据了你的移动量,然后找到三维坐标之间的对应关系,用这一时刻的坐标替换到上一时刻的坐标像素值实现图像的切换。图像的几何变换主要包括:平移、扩大与缩转载 2016-10-31 09:54:58 · 1423 阅读 · 0 评论 -
像素操作
版权声明:本文为博主原创文章,未经博主允许不得转载。选定图像中一个patch,然后将这个方块按我们的想法赋值(如全黑、全白等)[cpp] view plain copy #include #include #include using namespace cv; int main() {转载 2016-10-19 17:41:11 · 286 阅读 · 0 评论 -
结合实例与代码谈数字图像处理都研究什么?
图像处理(以及机器视觉)在学校里是一个很大的研究方向,很多研究生、博士生都在导师的带领下从事着这方面的研究。另外,就工作而言,也确实有很多这方面的岗位和机会虚位以待。而且这种情势也越来越凸显。那么图像处理到底都研究哪些问题,今天我们就来谈一谈。图像处理的话题其实非常非常广,外延很深远,新的话题还在不断涌现。下面给出的12个大的方向,系我认为可以看成是基础性领域的部分,而且它们之间还互有交叉转载 2016-10-25 10:33:54 · 2700 阅读 · 0 评论 -
python数字图像处理(12):基本图形的绘制
图形包括线条、圆形、椭圆形、多边形等。在skimage包中,绘制图形用的是draw模块,不要和绘制图像搞混了。1、画线条函数调用格式为:skimage.draw.line(r1,c1,r2,c2)r1,r2: 开始点的行数和结束点的行数c1,c2: 开始点的列数和结束点的列数返回当前绘制图形上所有点的坐标,如:rr, cc =draw转载 2016-10-14 15:36:42 · 1070 阅读 · 0 评论 -
用python简单处理图片(4):图像中的像素访问
前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然后直接对这个PIL对象进行操作。如果只是简单的操作还可以,但是如果操作稍微复杂一些,就比较吃力了。因此,通常我们加载完图片后,都是把图片转换成矩阵来进行更加复杂的操作。python中利用numpy库和scipy库来进行各种数据操作和科学计算。我们可以通过pip来直接安装这两个库pip install numpy转载 2016-10-14 15:03:42 · 7611 阅读 · 0 评论 -
python数字图像处理(17):边缘与轮廓
在前面的python数字图像处理(10):图像简单滤波 中,我们已经讲解了很多算子用来检测边缘,其中用得最多的canny算子边缘检测。本篇我们讲解一些其它方法来检测轮廓。1、查找轮廓(find_contours)measure模块中的find_contours()函数,可用来检测二值图像的边缘轮廓。函数原型为:skimage.measure.find_con转载 2016-10-14 14:41:03 · 2254 阅读 · 0 评论 -
openCV—图像直方图及其直方图均衡化
一、函数简介1、calcHist—计算图像直方图函数原型:calcHist(images, channels, mask, histSize, ranges, hist=None, accumulate=None)images:图像矩阵,例如:[image]channels:通道数,例如:0mask:掩膜,一般为:NonehistSize:直方图大小,一般等转载 2016-10-14 11:46:04 · 455 阅读 · 0 评论 -
openCV—彩色图像R、G、B分量的提取与合并及其相关颜色空间的转化
一、函数简介1、split—提取R、B、G分量(返回值顺序为:B、G、R)函数原型:split(m, mv=None)m:彩图矩阵mv:默认参数2、merge—合并R、G、B(参数顺序为:B、G、R)函数原型:merge(mv, dst=None)m:B、G、R分量mv:默认参数3、cvtColor—合并R、G、B(参数顺序为:B、G、R)转载 2016-10-14 11:44:06 · 8401 阅读 · 0 评论 -
openCV-图像算数与逻辑运算
一、函数简介1、add—图像矩阵相加函数原型:add(src1, src2, dst=None, mask=None, dtype=None)src1:图像矩阵1src1:图像矩阵2dst:默认选项mask:默认选项dtype:默认选项2、subtract—图像矩阵相加函数原型:subtract(src1, src2, dst转载 2016-10-14 11:41:41 · 5408 阅读 · 0 评论 -
OpenCV学习笔记:MAT解析
关于 Mat ,首先要知道的是你不必再手动地(1)为其开辟空间(2)在不需要时立即将空间释放。但手动地做还是可以的:大多数OpenCV函数仍会手动地为输出数据开辟空间。当传递一个已经存在的 Mat 对象时,开辟好的矩阵空间会被重用。也就是说,我们每次都使用大小正好的内存来完成任务。基本上讲 Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储转载 2016-12-02 10:38:44 · 565 阅读 · 0 评论 -
基于级联分类器的多目标检测
原文地址:http://blog.csdn.NET/ariesjzj/article/details/8639208物体检测方法大体可分为两类,基于知识的方法和基于统计的方法。前者如template matching, surf/sift detector等等。这些方法都基于我们对于识别目标已有比较清晰的刻画。虽然有些特征能抗一定的形变,但总体泛化性不够强。如果检测目标比较固定且对时间转载 2016-12-02 15:09:32 · 3930 阅读 · 1 评论 -
AdaBoost--从原理到实现
http://www.10tiao.com/html/284/201509/207854785/1.html一.引入对于Adaboost,可以说是久闻大名,据说在Deep Learning出来之前,SVM和Adaboost是效果最好的 两个算法,而Adaboost是提升树(boosting tree),所谓“提升树”就是把“弱学习算法”提升(boost)为“强学习算法”(语自《转载 2016-12-05 19:58:53 · 2822 阅读 · 1 评论 -
人脸检测FDDB测试ROC曲线生成
本文主要内容如下:1. ubuntu16环境下,如何使用FDDB评价人脸检测的效果,以及对应的ROC曲线的生成2. 使用python生成FDDB对比的文件。在测试人脸检测效果前,最好看下论文FDDB: A Benchmark for Face Detection in Unconstrained Settings,以及FDDB主页,了解人脸评估的基本原理1. 数据集准备...原创 2018-06-14 20:37:15 · 5238 阅读 · 1 评论 -
crnn docker/nvidia-docker 安装
本文主要是记录使用docker/nvidia-docker安装深度学习图片文字识别,开发运行环境. 在做图片文字识别的,需要用到CTPN以及crnn,服务器是ubuntu16的,但是上述两种框架(github现有的)只能运行在ubuntu14上面。考虑到,发布等问题,决定使用docker在ubuntu16搭建ubuntu14 cuda7.5 cudnn3开发运行环境。 crnn的原创 2018-03-22 19:29:11 · 1194 阅读 · 1 评论 -
Tesseract文字训练,以及样本生成
前面用做Tesseract做文字识别的时候,一般网上教程称使用jTessBoxEditor训练(最终我试验发现对于中文的图片文字识别而言训练基本没什么卵用)当然使用jTessBoxEditor训练新的文字还是可以的,当时我发现jTessBoxEditor训练基本的配置文件基本是文字以及文字的坐标于是我使用python脚本生成了对应的训练图片以及配置文件。先上个图: yahei_font2.box配原创 2017-09-01 20:01:37 · 5453 阅读 · 1 评论 -
Tesseract ocr文字识别
前面很早做了图片的文字识别主要用到了开源框架Tesseract,当然做OCR之前先要定位图片文字。先上个图: 工作中项目组一般使用java因此代码,下面贴出java代码,最简单的图片识别:package com.recognition;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;impo原创 2017-09-01 19:42:05 · 4733 阅读 · 1 评论 -
caffe python 图片训练识别 实例
本文主要是使用caffe python做图片识别的示例包括训练数据lmdb生成,训练,以及模型测试,主要内容如下:训练,验证数据lmdb生成,主要包括:样本的预处理 (直方图均衡化,resize),训练样本以及验证样本的lmdb的生成,以及mean_file mean.binaryproto生成caffe中模型的定义,主要是修改 caffe Alexnet 训练文件train_val.proto原创 2017-09-09 21:36:41 · 17100 阅读 · 2 评论 -
深度学习样本生成data augmentation
在做深度学习图片分类的时候,很多是有些样本不足这个时候我们就会自己生成样本,如opencv对图片旋转,扭曲等等操作。google了一下deep learning data augmentation 发现了github几种开源的的方法主要是使用opencv结合python的PIL库。最终发现Augmentor好用 本文内容如下:传统的opencv结合python的multiprocessing任务原创 2017-08-29 21:12:43 · 12406 阅读 · 6 评论 -
Convert URL to image with Python and OpenCV(根据URL下载图片)
http://www.pyimagesearch.com/2015/03/02/convert-url-to-image-with-python-and-opencv/And as a bonus we’ll also see how we can utilize scikit-image to download an image from a URL, along with a co转载 2017-02-13 19:21:26 · 903 阅读 · 0 评论 -
图像卷积与滤波的一些知识点
之前在学习CNN的时候,有对卷积进行一些学习和整理,后来就烂尾了,现在稍微整理下,先放上来,以提醒和交流。一、线性滤波与卷积的基本概念 线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器转载 2017-02-11 15:53:13 · 422 阅读 · 0 评论 -
Ubuntu 16.04 安装opencv2.4
https://gist.github.com/arthurbeggs/06df46af94af7f261513934e56103b30在ubuntu终端下输入> install.sh当前目录下新建了install.sh 脚本然后复制下面的内容,然后 sh install.sh # install dependencies sudo转载 2017-01-04 20:24:51 · 2063 阅读 · 1 评论 -
openCV—图像几何变换
一、函数简介1、warpAffine—图像放射变换(平移、旋转、缩放)函数原型:warpAffine(src, M, dsize, dst=None, flags=None, borderMode=None, borderValue=None)src:原图像矩阵;M:变换矩阵;dszie:图像尺寸(大小)其它参数默认即可。2、flip—图像翻转函数原型:转载 2016-10-14 11:37:52 · 1276 阅读 · 0 评论 -
openCV—基本绘图
一、函数简介1、zeros—构造全0矩阵函数原型:zeros(shape, dtype=None, order=’C’)shape:矩阵大小;例如:300x300;dtype:数据类型;例如:”uint8”order:数据排列顺序,默认按列排的2、line—画线函数原型:line(img, pt1, pt2, color, thickness转载 2016-10-14 11:35:47 · 387 阅读 · 0 评论 -
openCV—访问与操作像素(图片的区域的更改)
一、函数简介本节没有相关函数介绍,只涉及Python中一些矩阵的基本操作。1、获取三维矩阵(i,j)处的元素(b,g,r) = image[i,j],image大小为:MxNxK。2、获取三维矩阵的子矩阵——第i行到第j行与第m列到第n列的交叉部分newImage = image[i:j,m:n],image大小为:MxNxK。二、实例演练1转载 2016-10-14 11:34:07 · 1984 阅读 · 0 评论 -
数字图像处理入门(一)-基本概念
什么是图像?定义为二维函数f(x,y),其中,x,y是空间坐标,f(x,y)是点(x,y)的幅值。灰度图像是一个二维灰度(或亮度)函数f(x,y)。彩色图像由三个(如RGB,HSV)二维灰度(或亮度)函数f(x,y)组成。 什么是数字图像?1. 像素组成的二维排列,可以用矩阵表示。2. 对于单色(灰度)图像而言,每个像素的亮度用一个数值来表示转载 2016-10-12 15:36:52 · 1251 阅读 · 0 评论 -
实例说明图像的灰度化和二值化的区别
首先我们还是得了解一下定义(搬运工):灰度化:在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般常用的是加权平均法来获取每个像素点的灰度值。二值化:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效转载 2016-10-12 15:17:47 · 26416 阅读 · 0 评论 -
几种常见计算机图像处理操作的原理及canvas实现
2013-09-21 • 技术文章 • 评论前言即使没有计算机图形学基础知识的读者也完全不用担心您是否适合阅读此文,本文的性质属于科普文章,将为您揭开诸如Photoshop、Fireworks、GIMP等软件的图像处理操作的神秘面纱。之前您也许对这些处理技术感到惊奇和迷惑,但笔者相信您读完本文后会豁然开朗。本文主要介绍几种常见计算机图像处理操作的原理,为了操作简便和保证平台兼容性,转载 2016-10-09 20:54:01 · 7638 阅读 · 1 评论 -
数字图像处理的基本原理和常用方法
数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于 20 世纪 50 年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于 20 世纪 60 年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的转载 2016-10-09 20:39:13 · 22324 阅读 · 1 评论 -
相似图片检测:感知哈希算法之dHash的Python实现
某些情况下,我们需要检测图片之间的相似性,进行我们需要的处理:删除同一张图片、标记盗版等。如何判断是同一张图片呢?最简单的方法是使用加密哈希(例如MD5, SHA-1)判断。但是局限性非常大。例如一个txt文档,其MD5值是根据这个txt的二进制数据计算的,如果是这个txt文档的完全复制版,那他们的MD5值是完全相同的。但是,一旦改变副本的内容,哪怕只是副本的缩进格式,其MD5也会天差地别。因转载 2016-10-09 18:19:23 · 16089 阅读 · 0 评论 -
计算图像相似度——《Python也可以》之一
计算图像相似度——《Python也可以》之一 声明:本文最初发表于赖勇浩(恋花蝶)的博客http://blog.csdn.NET/lanphaday,如蒙转载,敬请确保全文完整,未经同意,不得用于商业用途。 关于《Python也可以》系列:这是我打算把这几年里做的一些实验和代码写出来,涉及的面比较广,也比较杂,可能会有图像处理、检索等方面的内容,也会有中文分词、文本分类、拼音、纠错转载 2016-10-09 17:11:27 · 8445 阅读 · 1 评论 -
SIFT算法详解
尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Funzdd zddmail@gmail.com or (zddhub@gmail.com)对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越。如果你学习SIFI得目的是为了做检索,也许 OpenSSE转载 2016-10-09 15:23:47 · 935 阅读 · 0 评论 -
SIFT算法大致原理作用
Sift是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善。Sift特征匹配算法可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有很强的匹配能力。在Mikolajczyk对包括Sift算子在内的十种局部描述子所做的不变性对比实验中,Sift及其扩展算法已被证实在同类描述子中具有最强的健壮性。 总体来说,Sift算子转载 2016-10-09 15:15:57 · 9792 阅读 · 0 评论 -
如何识别图像边缘?
作者: 阮一峰日期: 2016年7月22日图像识别(image recognition)是现在的热门技术。文字识别、车牌识别、人脸识别都是它的应用。但是,这些都算初级应用,现在的技术已经发展到了这样一种地步:计算机可以识别出,这是一张狗的照片,那是一张猫的照片。这是怎么做到的?让我们从人眼说起,学者发现,人的视觉细胞对物体的边缘特别敏转载 2016-10-09 11:00:07 · 374 阅读 · 0 评论 -
相似图片搜索的原理
作者: 阮一峰日期: 2011年7月21日上个月,Google把"相似图片搜索"正式放上了首页。你可以用一张图片,搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。一个对话框会出现。你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。上转载 2016-10-09 10:44:10 · 318 阅读 · 0 评论 -
数字图像处理入门(二)-邻域、连通性
图像的质量:1、层次转载 2016-10-12 15:41:53 · 1742 阅读 · 1 评论 -
在python中配置opencv库,使用pycharm环境
最好安装opencv 2.几的版本(如2.4.13)安装的opencv3 的老是出现no modules的错误,换成2.几的就好了第一步:安装openCV1.官网下载:点击打开链接,官网上有所有的openCV版本,找到你想要的版本和系统,点击之后,会弹出一个新的页面,不需要任何操作,便会自动下载。注明:这里没有32位和64位区别,安装程序会根据你的电脑系统自动选择安装32位还是64转载 2016-10-13 14:50:13 · 19590 阅读 · 0 评论 -
openCV—Python(10)—— 图像阈值化处理
一、函数简介1、threshold—图像简单阈值化处理函数原型:threshold(src, thresh, maxval, type, dst=None)src:图像矩阵thresh:阈值maxVal:像素最大值type:阈值化类型2、adaptiveThreshold—图像自适应阈值化处理函数原型:adaptiveThreshol转载 2016-10-14 11:25:48 · 942 阅读 · 0 评论 -
如何学好图像处理——从小白到大神?
http://blog.csdn.net/baimafujinji/article/details/50750468什么是数字图像处理?历史、以及它所研究的内容。说起图像处理,你会想到什么?你是否真的了解这个领域所研究的内容。纵向来说,数字图像处理研究的历史相当悠久;横向来说,数字图像处理研究的话题相当广泛。数字图像处理的历史可以追溯转载 2016-10-25 10:32:29 · 2532 阅读 · 0 评论 -
基于直方图的图像增强算法(HE、CLAHE、Retinex)之(一)
http://blog.csdn.net/baimafujinji/article/details/50614332直方图是图像色彩统计特征的抽象表述。基于直方图可以实现很多有趣的算法。例如,图像增强中利用直方图来调整图像的对比度、有人利用直方图来进行大规模无损数据隐藏、还有人利用梯度直方图HOG来构建图像特征进而实现目标检测。本节我们就来讨论重要的直方图均衡化算法,说它重要是因为以此转载 2016-10-25 10:22:27 · 5171 阅读 · 1 评论