自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图像的色彩类别,灰度化,二值化

灰度化:在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般常用的是加权平均法来获取每个像素点的灰度值。二值化:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果在图像处理中,用RGB三个分量(R:Red,...

2020-01-22 15:39:58 3135 2

原创 怎么判断应用程序是多少位运行的

C#中int bitSize = IntPtr.Size;//指针多少字节 if(bitSize==8) { MessageBox.Show("64位程序"); } else if(bitSize==4) { ...

2020-01-17 22:14:00 528

原创 委托事件的线程问题

事件注册方法或委托后,事件所在的线程执行注册的方法或委托,所以如果方法中有跨线程控件就需要使用invoke等处理。

2020-01-16 22:49:26 184

原创 C#工作线程创建窗体及绘制星图实例

public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ...

2020-01-12 14:35:19 415

原创 c#绘制星图靶标实例

public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ...

2020-01-11 21:57:20 510

原创 c#中在工作线程创建窗体并操作

实例1 public void CycleShow()//循环绘图 { Task.Factory.StartNew(() => { // threadB = new Thread( //() => { AllDealWithSpectrum...

2020-01-11 14:28:28 1084

原创 Lock锁的问题

多个线程共用一个锁时,同一时间只有一个可获得锁执行,其他线程会阻塞进入队列,按理解事件如果是多线程的,那么每次事件触发的含lock的函数都会将进入队列等待,越排越多。需待实验证明。public class Test { public void Fun1() { Task.Factory.StartNew(() => {...

2020-01-11 13:50:37 325

原创 C# Marshal的使用,非托管内存中分配内存注意的问题

IntPtr ptr = Marshal.AllocHGlobal(704* 576 * 3);如果没有手动释放内存,会有内存溢出;发生OutOfMemoryException 没有足够的内存继续执行程序时引发的异常。调用Marshal.AllocHGlobal必须调用 Marshal.FreeHGlobal(ptr);来手动释放内存,即使调用GC.Collect();方法也无法...

2020-01-09 21:59:29 3152

原创 C#中Marshal 类的内存操作的一般功能概述

Marshal 类的内存操作的一般功能Marshal类提供了一个方法集,这些方法用于分配非托管内存、复制非托管内存块、将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法。命名空间:System.Runtime.InteropServicesMarshal 类中定义的 static 方法对于处理非托管代码至关重要。此类中定义的大多数方法通常由需要在托...

2020-01-09 21:57:35 3869

原创 C#内存分配概念

在C#中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。...

2020-01-09 21:56:25 2066 1

原创 C++的Opencv动态库遇到的问题

1.c#中的位图传入时注意bitmapdata的 stride这个参数,步幅,图像宽度*通道数,必须是整4的倍数貌似,待确定。2.某个对象正在在使用的异常,用lock锁锁住共享资源。3.无法加载dll,找不到指定的模块,可能有几种原因,如系统或exe缺少一些依赖的dll,还有就是编译位数不对,或dll路径不对。4.c#手动分配的内存,...

2020-01-09 21:46:30 314

原创 C#四种相等性判断方法 equals,referenceEquals

C#中的ReferenceEquals、Equals以及== C#中有一共有四种相等性判断方法://Object中定义的三个方法public static bool ReferenceEquals(object objLeft, object objRight);public static bool Equals(object objLeft, object objRigh...

2020-01-09 21:37:35 1973

原创 C#中的Lock锁深入理解

lock语句 lock语句获取给定对象的互斥 lock,执行语句块,然后释放 lock。持有 lock 时,持有 lock 的线程可以再次获取并释放 lock。阻止任何其他线程获取 lock 并等待释放 lock。 为什么需要锁 作为C#的程序员来说,在遇到线程同步的需求时最常用的就是lock关键字。lock 的目的很明确,就是不想让别人使用这段代码,体现在多线程情况...

2020-01-09 21:36:23 15094 2

原创 遍历opencv中的mat像素的几种方法和概念

今天在看矩形滤波的时候忽然脑子短路,把一些概念全弄混了,现总结一下,以便下次再混的时候可以参考确认下,自己的理解,有错的地方还请指正。首先,在Opencv2中基本上都是用的Mat来表示图像了,C++的函数调用中基本上也都是Mat图,从根本上说,一张图像是一个由数值组成的矩阵,矩阵的每一个元素代表一个像素。对于灰度图像而言,像素有8位无符号数表示,其中0代表黑色,255代表白色...

2020-01-07 21:36:37 2491

原创 一种新的图像清晰度评价函数

自动聚焦是机器人视觉、数字视频系统中的关键技术之--,是决定图像质量的重要因素,是获取清晰图像的第1步。聚焦性能取决于调焦评价函数的准确性和有效性,即评价函数必须具有无偏性好、单峰性强和较好的抗噪性能。图像模糊的本质是高频分量的损失,聚焦图像比离焦图像包含更多的信息和细节,这是设计聚焦评价函数的基础。该文采用基于聚焦窗口模式的平方梯度函数作为聚焦评价函数,判断图像是否清晰。通过...

2020-01-06 22:29:00 768

原创 11种图像清晰度评价函数

典型无参考图像清晰度评价(可用作对焦评价函数)Tenengrad评价函数Tenengrad函数是一种由Tenenbaum提出的,基于梯度的常用图像清晰度评价函数。特南梯度。在图像处理中,一般认为对焦好的图像具有更尖锐的边缘,故具有更大的梯度函数值。Tenengrad函数使用Sobel算子提取水平和垂直方向的梯度值,求其平方和作为评价函数。具体过程如下:设Sobel卷积核为,则图...

2020-01-06 21:58:09 14330 3

转载 一种新的图像清晰度评价函数,数字图像清晰度评价函数的研究与改进

摘要:摘 要: 通过分析常见的图像清晰度评价函数,针对自动对焦系统中图像清晰度评价问题,提出了一种基于聚焦窗口的改进梯度评价函数算法。改进后的算法具有计算量小、实时性好、评价曲线单峰性好、灵敏度高、聚焦检测效率高等特点,可以更好地满足自动对焦系统对图像清晰度评价的要求。 关键词: 图像清晰度;自动聚焦;评价函数  图像清晰度评价在图像分析和识别中具有重要的意义。数字图像评价函数是评价数摘...

2020-01-06 21:30:10 2956 1

原创 opencv系列-图像清晰度评价

opencv系列-图像清晰度评价1,换了opencv3.4,用来测试2,opencv好评呀图像清晰度评价算法有很多种,在空域中,主要思路是考察图像的领域对比度,即相邻像素间的灰度特征的梯度差;在频域中,主要思路是考察图像的频率分量,对焦清晰的图像高频分量较多,对焦模糊的图像低频分量较多。这里实现3种清晰度评价方法,分别是Tenengrad梯度方法、Laplacian梯度...

2020-01-06 21:08:42 799 1

转载 图像清晰度评价15种方法对比

在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的重要指标,它能够较好的与人的主观感受相对应,图像的清晰度不高表现出图像的模糊。本文针对无参考图像质量评价应用,对目前几种较为常用的、具有代表性清晰度算法进行讨论分析,为实际应用中选择清晰度算法提供依据。(1)Brenner 梯度函数Brenner梯度函数是最简单的梯度评价函数,它只是简单的计算相邻两个像素灰度差的平方,...

2020-01-06 21:05:17 14003 3

原创 OpenCV 图像清晰度评价算法(相机自动对焦)

相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上。这时候物体的成像比较清晰,图像细节信息丰富。相机自动对焦的过程,其实就是对成像清晰度评价的过程,对焦不准确,拍摄出来的图像清晰度低,视觉效果模糊,如果是在工业检测测量领域,对焦不准导致的后果可能是致命的;对焦准确的图像清晰度较高,层次鲜明,对比...

2020-01-06 21:00:02 6578

原创 OpenCV图像锐化/增强

OpenCV图像锐化/增强0.综述1.Laplacian高通滤波算子2.Laplacian锐化代码实践3.USM锐化增强算法4.USM代码实践0.综述图像的卷积计算除了可以完成我们前面介绍的模糊去噪、边缘检测等任务外,还可以实现图像锐化/增强的功能。图像锐化是一种突出和加强图像中景物的边缘和轮廓的技术。在图像中,边缘可以看作是位于一阶导数较大的像素位置,因此可以通过求图像的一阶导...

2020-01-06 20:52:45 6591 1

原创 c#和c++的opencv位图数据参数互换问题解决方法

1.******************************C#调用vc++ dll 传递参数的问题(Bitmap 转换为 opencv mat ),保存后图片不一样。vc++ 代码bool Recognize(Point_2F *arr,uchar* b){Mat src=cv::Mat(415,770,CV_8UC3,b);/*for (int i=0;i<s...

2020-01-05 11:08:34 1315 1

原创 c#调用c++(Opencv)dll的实例

*****************************************c++代码MYDLL int GetCenterPos(uchar* imageData,int step, int widthValue, int heightValue, int BinaryThreshold, int LineBlankThreshold, int* centerX, int* cente...

2020-01-05 11:00:08 1025

原创 C#调用C++(opencv)中图片数据传递的问题

C++DLL代码:C#代码:课题需要做一个界面,因为某些原因不能用emgucv,需要在C#winform中调用opencv的方法,用opencv处理图片之后再传回到C#pictureBox控件中显示出来。从C#向C++传递图片参数,处理后的图片能在C++中imshow出来,但是不知道怎么从C++往C#穿回去,应该是需要穿指针地址回去,但是还不知道怎么传?...

2020-01-04 19:13:31 2891 3

原创 关于C++中vector和set使用sort方法进行排序

C++中vector和set都是非常方便的容器,sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序将sort方法用到vector和set中能实现多种符合自己需求的排序首先sort方法可以对静态的数组进行排序1 #include<iostream>2 using namespace std;3 int main()...

2020-01-04 10:08:31 1297

原创 c++中vector使用说明

一、向量的介绍 向量vector是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。 在使用它时, 需要包含头文件 vector,#include<vector>...

2020-01-04 09:53:34 299

原创 Opencv中Mat图的长、宽、行、列以及图像像素的概念问题

c++

2020-01-02 21:20:21 3400 1

原创 C#对比图片相似度算法

参考Neal Krawetz博士的这篇文章, 实现这种功能的关键技术叫做"感知哈希算法"(Perceptual Hash Algorithm), 意思是为图片生成一个指纹(字符串格式), 两张图片的指纹越相似, 说明两张图片就越相似. 但关键是如何根据图片计算出"指纹"呢? 下面用最简单的步骤来说明一下原理:第一步 缩小图片尺寸 将图片缩小到8x8的尺寸, 总共64个像...

2020-01-01 21:51:30 5538 2

空空如也

空空如也

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

TA关注的人

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