自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Halcon 图像拼接

Halcon 图像拼接这里实现图像纵向拼接(横向的原理类似),直接上代码。read_image(img1,'1.tiff')read_image(img2,'2.tiff')get_image_size(img1,wid1,heig1)get_image_size(img2,wid2,heig2)imagesHeight:=heig1+heig2*创建空白图像get_image_type(img1,imgType)gen_image_const(Image,imgType,wid1,im

2020-05-13 20:02:12 524 2

原创 Halcon 读取json文件

核心知识:get_dict_tuple、get_dict_param的理解与应用一、get_dict_ttuple算子①定义get_dict_tuple( DictHandle, Key , Tuple)DictHandle:字典句柄key:键tuple:根据Key在句柄下取内容,存放到tuple中②功能:从字典中检索与键关联的元组二、get_dict_param算子①定义...

2020-02-22 18:20:38 618

原创 Halcon 灰度投影及其应用

算子介绍:一、gray_projections算子①gray_projections(Region, Image, Mode,HorProjection, VertProjection)Region:待处理区域Image:待投影的灰度图Mode:计算投影的方式,有’simple’、 ‘rectangle’,‘simple’HorProjection:水平方向投影VertProject...

2020-02-22 17:05:57 634

原创 Halcon 图像截取

在Halcon中进行截图有很多坑,比如reduce_domain、get_domain、crop_part等等,每个算子都有不同的功能,经过多次试验验证,crop_part才是名副其实用来截取感兴趣区域的。接下来对其进行详细介绍。crop_part算子:算子定义:crop_part(Image : ImagePart : Row, Column, Width, Height : )Ima...

2020-02-22 16:41:55 1463 1

原创 VS2017配置Halcon

VS2017配置Halcon第一步:创建好VS项目(这里不做描述)第二步:在属性管理器中新建一个文件(方便以后项目中使用,不用每次新建项目都进行配置了)第三步:右键后点击属性①VC++目录 -> 包含目录:添加Halcon安装目录下的include目录\alcon18.11.2.0\include\halcon18.11.2.0\include\halconcpp②VC++...

2020-02-14 10:10:20 177

原创 解决pip安装超时、安装速度慢的问题

解决pip安装超时、安装速度慢的问题一、更新pip失败原因:因为原来的版本没能成功的卸载掉,所以会回滚,导致,pip的版本依然有问题解决办法,使用指令:python -m pip install -U --force-reinstall pippython -m pip install -U --force-reinstall pip二、python(pip)安装库时间超时解决办法:...

2020-02-10 11:31:19 446

原创 OpenCV 图像保存为二进制文件及其复原(2)

**数据的访问方式不同,效率也不同,今天介绍一种更为高效的方式,直接上代码。** //图像数据存储为二进制流文件 src:源图像 datName:欲保存的文件名 void img2dat(Mat src, string datName) { //把mat 转换 为 IplImage 原因是这种图像格式数据访问更为高效 IplImage img = src; string fi...

2020-02-08 16:24:23 449

原创 OpenCV IPLImage常用方法

**OpenCV IPLImage常用方法**最近在做图像处理时,发现IPLImage比Mat有些优势。①前者虽然比较死板,但访问像素效率非常高(指针的功劳) ②当然,在进行相关操作时,必要时可以将Mat与IPLImage相互转换接下来就开始介绍基本的操作。1.图像读取、显示、保存void imgIpl(){ /* 载入图像 这里有个很有趣的东西,在载入是如下所写“CV_LO...

2020-02-08 16:18:08 294

原创 OpenCV 读取像素值的常用方法

OpenCV常用读取像素方法及读取速度对比法一 指针法(效率最高)void main(){ //灰度图 Mat src = imread("src.jpg", 0); //图像行、列 int row = src.rows, col = src.cols; for (int i = 0; i < row; i++) { //读取整行数据 uchar* ptr = sr...

2020-02-05 12:07:33 185

原创 并行处理加速图像/事务处理

并行处理加速图像/事务处理1.计算机环境: Windows10 VS20172.OpenMP编程方式 openMP非常容易上手,能够支持C、C++、Fortran语言,支持OpenMP的编译器有:Sun Studio,Intel Compiler,Microsoft Visual Studio,GCC,我是在VS2017工程下进行使用的。 配置方式:在项目上右键->属性-&gt...

2020-02-04 16:02:28 75

原创 OpenCV 图像切分与图像合并(改进版)

之前写过一种方法,现在介绍一种更简便的方法,即通过调用OpenCV函数来缩减代码量。/********************************************************* @brief : 实现图像分割,* @param num : 分割个数* @param type : 0:垂直分割(推荐),1:水平分割(不推荐)* @return...

2020-02-02 10:39:20 421

原创 VS2017 x64 配置Pthread

首先搜索pthread功能包,如图所示然后在“浏览框”中搜索“pthread”,点击安装即可。注意:在引用#include<pthread.h>运行程序时,会反馈 error C2011: “timespec”:“struct”类型重定义 的错误,这是只需在pthread.h中的#if !defined( PTHREAD_H )#define PTHREAD_H下面加上...

2020-01-31 13:46:43 219

原创 OpenCV 图像切分与图像合并

将一张图片切分成多个小图片并将小图片合并为原图前言 最近用到一个功能,需要将一张原图切分成多个小图像,然后对小图像进行处理,处理之后再将其整合成一张大图像。达到对原图进行处理的目的,这样做的好处是将一个大任务划分为多个小任务,分别进行处理以节约时间(当然需要多线程进行协助,效果才会更明显)。 下面,就以2个模块进行介绍,分别为①图像切分 ②图像合并。/*图像切分(我是按列进行切分的,...

2020-01-30 10:38:02 642

原创 OpenCV 形态学腐蚀

1、基本概念腐蚀与膨胀是一对相反的操作,所以腐蚀就是求全局最小值的操作。腐蚀(erode)是求局部最小值的操作。从数学角度讲,膨胀或腐蚀操作就是将图像(或图像的一部分区域,称之为A)与核(称之为B)进行卷积。核B与图形卷积,即计算核B覆盖的区域的像素点的最小值,并把这个最小值赋值给参考点指定的像素。这样就会使图像中的高亮区域逐渐减小,如图所示,这就是膨胀操作的初衷。核可以是任何形状和大小,它...

2020-01-16 20:04:28 362

原创 OpenCV 形态学膨胀

1、基本概念膨胀(dilate)是求局部最大值的操作。从数学角度讲,膨胀或腐蚀操作就是将图像(或图像的一部分区域,称之为A)与核(称之为B)进行卷积。核可以是任何形状和大小,它拥有一个单独定义出来的参考点,我们称其为锚点(anchorpoint)。多数情况下,核是一个小的,中间带有参考点和实心正方形或者圆盘。其实可以将核看作模板或者掩码。膨胀操作就是求局部最大值的操作。核B与图形卷积,即计算...

2020-01-16 19:41:59 179

原创 骨架提取算法应用

1、引言根据个人理解,骨架提取(顾名思义)就是根据各个连通区域,将其抽离出与其轮廓近似的单像素表示形态。以便于直观观察、图像的后继处理。因此可以将其视为图像处理中的预处理,其操作是基于二值图。为了更好的提取图像骨架,必要时需要对图像进行相应的预处理(比如去噪、滤波、形态学变换等)。我的应用主要集中在对一些包含线条型的零件检测,除此之外,骨架提取的应用特别广泛,比如文字的检测/识别、道路观测等。...

2020-01-16 10:22:11 706

原创 OpenCV 中值滤波(非线性滤波)

1、非线性滤波多数情况下,使用邻域像素的非线性滤波会得到相当好的效果。比如在噪声是散粒噪声而不是高斯噪声,即图像偶尔会出现很大值的时候,用高斯滤波器对图像进行模糊的话,噪声像素是不会被去除的,它们只是被转换为更柔和但仍然是可见的散粒。2、中值滤波基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,此方法在去除脉冲噪声、椒盐噪声的同时又能保留图像的边缘细节。基本原理是把数字图像或数字序...

2020-01-16 10:02:38 255

原创 OpenCV 高斯滤波

1.高斯滤波的理论简析高斯滤波是一种线性平滑滤波,可以消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或成为卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度去替代模板中心像素点的值。高斯模糊技术生成的图像,其视觉效果就像是经过一个半...

2020-01-16 08:52:44 154

原创 OpenCV 动态调整图像对比度、亮度

OpenCV 动态调整图像对比度、亮度//全局变量声明static void on_ContrasAndBright(int, void*);int g_nContrastValue; //对比度值int g_nBrightValue; //亮度值Mat g_srcImage, g_dstImage;void Test(){ //读取输入图像 g_srcImage = im...

2020-01-10 10:05:12 296

原创 显式创建Mat的方法

显式创建Mat的方法1、使用Mat()构造函数void matCreate(){ int row = 5, col = 5; Mat M(row, col, CV_8UC3, Scalar(0, 0, 255)); cout << "M=" << endl << M << endl;}M=[ 0, 0, 255, 0, ...

2020-01-09 20:31:37 37

原创 OpenCV 图像感兴趣区域:ROI

在图像处理是,我们常常需要设置感兴趣区域(ROI,region of interest),来简化工作过程。即从图像中选择一个图像区域,这个区域是图像分析所关注的重点。 定义ROI区域由两种方法:第一种是使用表示矩形区域的Rect。它指定矩形的左上角和矩形的长、宽,以定义一个矩形区域。 其中,image为已经载入好的图片 //定义一个Mat类型并给其设定ROI区域 Mat imageROI...

2019-12-31 09:50:32 94

原创 OUST实现图像分割

一、基本介绍应用:求图像全局阈值,适用于大多需要求图像全局阈值的需求优点:计算简单、快速,不受图像亮度和对比度影响缺点:对图像噪声敏感;只能针对单一目标分割;当目标和背景大小比例悬殊、类间方差函数可能呈现双峰或者多峰,效果不好二、原理OTSU算法假设存在阈值TH,将图像所有像素分为两类C1(小于TH)、C2(大于TH)。这两类像素各自的均值分别为m1、m2,图像全局均值为mG。同事像素被...

2019-12-31 08:10:58 240

原创 VS2017 OpenCV3.2.0 dll生成与应用

一、新建动态链接库命名:myDll设置路径二、在头文件新建文件①头文件->添加->新建项②在新建项中写如下代码//__declspec(dllexport)是固定格式//后面跟函数的声明__declspec(dllexport) void encry_1channels(Mat src, Mat& dest, double& U, double&am...

2019-12-30 21:52:32 194 1

原创 OpenCV 基于logistic混沌对图像加密与解密

标题数字图像加密方法分析一、数字图像加密方法基本要求和分类1.1图像加密算法要求①安全性。混淆和扩散是设计具有计算安全性的密码的必要条件。 ②实时性。加密算法的使用不能给图像数据传输和存取带来过大的延迟。 ③数据量不发生膨胀。 ④数据格式不变。1.2 数字图像加密算法分类①基于空间域的像素置乱 ②基于混沌加密 ③基于变换域加密 ④基于秘密分割与秘密共享加密 ⑤基于神经网络和元胞自动机加密...

2019-12-30 10:29:54 2223

原创 OpenCV 将图像保存为二进制流.bat文件

OpenCV 图像与二进制流数据类型文件相互转换涉及知识点:①文件流的操作②数据写入、读出的操作//将图像以二进制流数据保存到.dat格式文件中 void imgTobinary(Mat src) { //图像宽、高 int height = src.rows, width = src.cols; Mat imgGray = src.clone(); //cvtColo...

2019-12-30 09:56:42 496

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除