半个月前开始学习opencv  觉得计算机视觉真是个大坑啊  没做好准备千万别往里踏 否则像我一样摔得粉身碎骨。学习的过程中写了一些笔记,主要是根据于仕琪的 学习opencv 上一步步来的 感觉做识别和机器学习挺有意思,与诸君共勉吧  路途漫漫 还得加把劲呐。//2013.7.12 一.函数声明及参数含义 Mat 图片数据类型的申明 cvNamedWindo
我们随手拍摄的照片,很难达到摄影师的水准,因此不管是手机上还是电脑内,都有一些软件可以添加特效让照片更好看,手机拍摄时也有即时的美化效果。不过我比较好奇漫画特效,但是一直在网上看到别人的成品而找不到针对性的软件,因此只有自己实现一下,虽然跟专业的还有差距,但效果还不错。本次使用 OpenCV,采用 Python 实现。对比现实中的画画,一般是先画出边缘轮廓使整体规划好,再填充颜色使其完整,因此在这
转载 2024-10-17 10:40:54
71阅读
操作系统为win10,vs版本为2015或2017,OpenCV选择3.4.0。一、下载OpenCV3.4.0https://opencv.org/opencv-3-4.html解压缩后安装。我安装到了D盘。 之后会看到D盘中有一个名为“opencv”的文件夹。其中的build文件夹(主要是build\include\opencvopencv2文件夹)中有opencv中的各种头文件,之
转载 2024-04-30 16:59:42
86阅读
tesseract训练  命名 为了方便 tif文面命名格式[lang].[fontname].exp[num].tiflang是语言 fontname是字体 比如我们要训练自定义字库 image 字体名MyFont那么我们把tif文件重命名 image.MyFont.exp0.tif 生成box文件 tesseract image.MyFont.exp0.tif image.MyFo
注:本人电脑系统为:Windows7 64位第一步:下载和安装OpenCV SDK 在官网http://opencv.org/上找到OpenCV Windows版本下载下来。本文选择版本为OpenCV3.1.0。下载完成后双击解压到指定文件夹。本人直接解压到D盘,例:D:\opencv3.1。第二步:OpenCV环境变量配置 配置方法如下: 【计算机】——【(右键)属性】——【高级系统设置】——【
图片修复程序-可用于水印去除在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以消除这些噪声呢?答案是肯定的,依然是被我们用了无数次的OpenCV这款优秀的框架。OpenCV目前,OpenCV逐步成为一个通用的基础研究和产品开发平台。OpenCV这一名称包含了Open和 Compu
转载 2024-03-23 10:35:55
118阅读
ApproxChains用多边形曲线逼近 Freeman 链 CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage, int method=CV_CHAIN_APPROX_SIMPLE, double parameter=0, int mi
用GMM提取运动目标,在光照比较强烈的条件下,会把阴影也当成运动目标提取出来。 利用阴影亮度降低而色度基本不变的特点,在HSV空间里利用以下公式进行判断#include "stdafx.h" #include "cv.h" #include "highgui.h" #include <opencv2/opencv.hpp> #include "HaarDetect.h" #inc
背景减除(Background Subtraction)是许多基于计算机视觉的任务中的主要预处理步骤。如果我们有完整的静止的背景帧,那么我们可以通过帧差法来计算像素差从而获取到前景对象。但是在大多数情况下,我们可能没有这样的图像,所以我们需要从我们拥有的任何图像中提取背景。当运动物体有阴影时,由于阴影也在移动,情况会变的变得更加复杂。为此引入了背景减除算法,通过这一方法我们能够从视频中分离出运动的
转载 2024-03-06 09:48:32
142阅读
平滑有时也称为模糊,是一种简单且经常使用的图像处理操作。平滑有很多原因,但通常是为了减少噪点。但是这样通常会降低图像的分辨率。OpenCV提供了五种不同的平滑操作,每种平滑操作都可以完成不同的平滑操作。所有这些函数中的src和dst参数都是通常的源图像和目标图像。每个平滑操作都具有特定于相关操作的参数。其中,唯一的通用参数是最后一个borderType。该参数告诉平滑操作如何处理图像边缘的像素。1
原理:通过图像信号函数的极大值来判定图像的边缘像素点。最优边缘检测主要以下面三个参数为评判标准:低错误率:标识出尽可能多的实际边缘以及减少噪声产生。高定位性:表示出边缘要与图像中的实际边缘尽可能接近。最小响应:图像的边缘标记具有唯一性,虚假响应边缘应该得到最大抑制。目录(一)Canny的原理(二)Canny库函数的实现(三)再次解释(一)Canny的原理检测步骤:消除噪声边缘检测的算法主要是基于图
原标题:基于OpenCV的图像阴影去除我们经常需要通过扫描将纸上的全部内容转换为图像。有很多在线工具可以提高图像的亮度,或者消除图像中的阴影。但是我们可以手动删除阴影吗?当然可以,我们只需要将图像加载到相应的代码中,无需任何应用程序即可在几秒钟内获得输出。这个代码可以通过Numpy和OpenCV基本函数来实现。为了说明该过程,使用了以下图像进行操作。Test_image1.图像中有一个非常明显的阴
吐槽一下,在网上查了半天opencv3关于删除最小连通区域的方法,结果还是没找到,就自己写了一个,效果还可以,就发出来和大家分享一下。思路: 1、遍历所有像素点 2、每遍历到一个黑点就去判断是否为连通区域起始点,若是则添加到待检测像素点集合中 3、遍历待检测像素点集合,检测待检测像素点周围(上下左右)的像素点,若是黑点,则添加到待检测像素点集合中,并把当前待检测像素点添加到已检测点集合。若待
        原作者:robberjohn  博客已删除了,源码下载链接在                  对于二值化图像,去除孔洞时采用的方法实际上与去除小区域相同,因此完全可以用同一个函数进行。 这两个功能可以采取区域生长法来实现。须注意,
转载 2024-08-09 08:50:28
54阅读
最近开始了解图像处理的一些东西,曝一些读《数字图像处理与机器视觉--Visual C++与Matlab实现》的提要吧,和一个室友找的根据背景来追踪目标的简单代码。提要:0.    概述,提要本书的内容1.    matlab编程基础,关于matlab图像处理的部分2.    visual c++ 处理图像的部
投影变换 在放射变换中,物体是在二维空间中变换的。如果物体在三维空间中发生了旋转,那么这种变换就成为投影变换,在投影变换中就会出现阴影或者遮挡,我们可以运用二维投影对三维投影变换进行模块化,来处理阴影或者遮挡。在OpenCV中有类似于getAffineTransform函数:getPerspectiveTransform(src,dst)函数 用来处理计算投影变换矩阵。与getAffineTran
图像去阴影算法旨在改善图像质量并恢复阴影下物体的真实颜色与亮度 这对于许多计算机视觉任务如物体识别、跟踪以及增强现实等至关重要。以下是一些图像去阴影算法的基本概述:基于亮度差算法:这种方法通过比较图像中相邻像素或同一物体不同部分的亮度差异来检测阴影。假设在同一光照条件下,物体表面颜色应相对一致,若出现较大差异则可能被认为是阴影区域。通过统计分析或者阈值处理,可以区分出阴影并尝试通过某种方式(例如线
计算机视觉:Opencv图像去噪添加高斯噪声添加椒盐噪声均值滤波中值滤波高斯滤波双边滤波参考文献 本博客针对某一原始图片添加高斯或椒盐噪声,再使用均值、中值、高斯和双边滤波对加噪图像进行去噪,相关函数如下所示。 添加高斯噪声def clamp(pv): if pv > 255: return 255 if pv < 0: return
一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像中的细节信息也主要集中在其高频部分,因此,如何去掉高频干扰同时又保持细节信息是关键。为了去除噪声,有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。图像平滑包括空域法和频域法两大类。在空域法中,图像平滑的常用方法是采用均值滤波或中值滤波。对于均值滤波,它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应的图
转载 2024-05-05 16:34:44
93阅读
一、PlaySound()介绍: PlaySound()是Windows用于播放音乐的API函数(方法)。在vs2010以上版本需要加入#pragma comment(lib, “winmm.lib”)才能使用PlaySound。BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound)。 /*@pszSound:pszSound是指定
转载 2024-03-19 11:06:14
53阅读
  • 1
  • 2
  • 3
  • 4
  • 5