图像处理C#
文章平均质量分 76
zxy2847225301
毕业于广东工业大学,多年C#一线开发经验,熟悉常用数据库
展开
-
利用ZXing.Net Bindings for EmguCV识别条形码及绘制条形码边框17(C#)
4.1.3 接着使用CvInvoke.Dilate把灰度图的轮廓进行膨胀处理,由于是条形码,所以卷积核用得比较大,用了20*20的卷积核,目的是为了把条形码中的竖线给整合成一个整体。目前能想到的算法是:根据获取到条码轮廓最左边的那个点和最下面的那个点,然后计算这两个点连线,计算夹角,得到对应要旋转的角度A,另外的要旋转的角度为180-A。4.1.6 想要有好一点的识别效果,可以调整第一膨胀的卷积核的大小,图片的清晰度等。把这个压缩包下载下来后解压,展开libs目录的runtimes目录。原创 2024-08-14 14:58:27 · 1138 阅读 · 0 评论 -
利用Emgucv绘制条形码边框16(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。1 新增控制台项目,.net framework为4.7.2。win10 64位。3 项目选择x64。原创 2024-08-13 17:37:48 · 207 阅读 · 0 评论 -
深度学习框架TensorFlow.NET之数据类型及张量2(C#)
TensorFlow中数据的基本单位为张量,前面例子中我们操作的变量或者常量都是属于张量的一中,我们可以使用张量表示标量(0维度数组)、向量(1维数组)、矩阵(2维数组)、RBG图像(3维数组)、视频(4维数组)等n维数组。如:tf.add(number1, number2)是对number1和number2的值相加,可以相加,都是int类型。通过tf.constant(2,name:"常量2名称")声明了一个值为2,名为'常量2名称'的整型常量。声明了一个值为10,名为'int变量'的整形变量。原创 2023-11-05 18:33:05 · 1665 阅读 · 3 评论 -
深度学习框架TensorFlow.NET环境搭建1(C#)
2 在tf.constanct(str)报未能将对象引用到实例,应该是TensorFlow.NET包和SciSharp.TensorFlow.Redist包的版本对应不上,应该多尝试TensorFlow.NET的版本,直到不报错为止。2 分别安装TensorFlow.NET包(先装)和SciSharp.TensorFlow.Redist(后装),版本兼容性不好,最好安装的版本与我的保持一致,不然报错到你怀疑人生。(异常来自HRESULT:0x8007007E)window10 64位。原创 2023-11-05 11:13:22 · 2191 阅读 · 0 评论 -
TensorFlow.NET机器学习环境搭建(1)C#
在 Tensorflow.c_api.TF_AllocateTensor(TF_DataType dtype, Int64[] dims, Int32 num_dims, UInt64 len)在 Tensorflow.c_api.TF_NewTensor(Shape shape, TF_DataType dtype, Void* data)查阅stack overflow,找到了相应的解决方案:原来是要安装:vc_redist.x64.exe。本次测试安装的版本是:0.70.2。win10 64位。原创 2022-11-14 20:16:08 · 2532 阅读 · 3 评论 -
Emgu CV4图像处理之打开Tensorflow训练模型17(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。经过多方测试,发现flt[0, 0, x, 1]是识别结果信息,flt[0, 0, x, 2]为识别的分值;2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。win10 64位。3 项目选择x64。原创 2022-11-11 15:09:03 · 1268 阅读 · 4 评论 -
Emgu CV4图像处理之运动物体检测16(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。我这个是失败品,效果太差了,黑色的车压根就检测不到,后面的就不做了,仅作记录。想要获取到运动中的车辆,需要比较两帧视频的图片,然后做减法运算。原创 2022-11-10 16:32:00 · 790 阅读 · 0 评论 -
Emgu CV4图像处理之轮廓查找与绘制15(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。contourIds:要绘制contours中的那一条,一般遍历contours获取到,如contours[0]color:线条的颜色,如new McvScalar(0,255,0)contours:通过查找轮廓函数查找到的轮廓信息。win10 64位。原创 2022-11-10 11:47:39 · 1371 阅读 · 0 评论 -
Emgu CV4图像处理之膨胀和腐蚀、梯度计算、开闭运算14(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。3的矩阵,卷积计算后,该像素点的值等于以该像素点为中心的3*3范围内的最大值。borderType:边界模式,一般为默认Emgu.CV.CvEnum.BorderType.Default。图中的128=Max(128,0,0,0,126,24,0,0,0)原创 2022-11-09 17:22:55 · 835 阅读 · 0 评论 -
Emgu CV4图像处理之Canny边缘检测和图像阈值化13(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。blockSize:adaptiveThreshold的计算单位是像素的邻域块,这是局部邻域大小,3、5、7等。:使用soble算子,不知这个soble算子是咋来的,梯度方向怎么来的,看了几篇博文,不是很懂。dst:输出图像,与源图像大小一致。原创 2022-11-09 11:26:19 · 852 阅读 · 0 评论 -
Emgu CV4图像处理之高斯滤波和中值滤波12(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。第三个参数ksize表示为滤波核的大小,注意这里是int形式的ksize,输入一个整数便可,3就表示3x3的核大小,5就表示5x5的核大小;Size(3,3)就表示3x3的核大小,Size(5,5)就表示5x5的核大小。win10 64位。转载 2022-11-08 17:52:59 · 369 阅读 · 0 评论 -
Emgu CV4图像处理之方框滤波和均值滤波12(C#)
上图原图中红色区域部分记为A,核区域记为B,上图中输出图中的像素值92是这样计算出来的:区域A和区域B的对应位置的值相乘后再累加的结果:(65*0.1+98*0.1+123*0.1)+(65*0.1+96*0.2+115*0.1)+(63*0.1+91*0.1+107*0.1)=92。注意看,上图的核共9个格子,那么可以说这个核是3*3的,它们的值加起来等于1(0.1+0.1+0.1+0.1+0.2+0.1+0.1+0.1+0.1=1)上图5*5的核中的系数都变成了1/25了,它们累加起来也是等于1。原创 2022-11-08 17:19:49 · 963 阅读 · 0 评论 -
Emgu CV4图像处理之图像的几何变换(平移、旋转、转置、镜像)11(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。图中说到的仿射可以参考:仿射变换可以通过一系列的原子变换的复合来实现,包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear)3 图像转置和镜像。win10 64位。转载 2022-11-08 12:04:25 · 967 阅读 · 0 评论 -
Emgu CV4图像处理之ROI与mask掩码10(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。高级融合:个人理解是把一张图(一般为Logo图)塞进另外一张图,Logo图比较特别,背景色一般为纯色(白色),然后把Logo取反后二值化,即把背景色去掉了,只留下Logo重要的内容。ROI:个人理解是,从原图中,截取指定矩形区域的内容。原创 2022-11-07 18:21:57 · 1524 阅读 · 0 评论 -
Emgu CV4图像处理之对比度亮度调整与通道分离9(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。//二值化处理,第一个参数为输入图片,第二个参数是输出图片,100为二值化的临界值,255为二值化的最大值。2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。看结果,B、G、R三通道单独拿出来显示,显示为灰度图。转载 2022-11-07 16:10:04 · 474 阅读 · 0 评论 -
Emgu CV4图像处理之图像的运算8(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。如果运算的两种图片大小不一致,需要使用CvInvoke.Resize重新调整大小。7 图像异或(半加运算)win10 64位。3 项目选择x64。转载 2022-11-07 15:07:31 · 280 阅读 · 0 评论 -
Emgu CV4图像处理之访问图像像素通道值7(C#)
(Row0,Column0)代表像素的(横坐标,纵坐标),注意观察,当图片为彩色图片时,一个Column就存有3个通道的值,分别为BGR。//访问像素宽度为100,像素高度为100蓝色通道的像素值。//访问像素宽度为100,像素高度为100绿色通道的像素值。//访问像素宽度为100,像素高度为100红色通道的像素值。//设置像素宽度为100,像素高度为100蓝色通道的像素值。//设置像素宽度为100,像素高度为100绿色通道的像素值。//设置像素宽度为100,像素高度为100红色通道的像素值。原创 2022-11-07 13:16:03 · 1096 阅读 · 0 评论 -
Emgu CV4图像处理之基本绘图函数6(C#)
参考代码如下:new System.Drawing.Rectangle(100, 100, 400, 200)中的第一个参数100为矩形起点的x坐标,第二个参数100为矩形起点的y坐标,第三个参数400为矩形的宽,第四个参数为矩形的高。第一个参数img为源图片,第二个参数是要绘制的文本,第三个参数org为绘制文本的起点坐标,第四个参数fontFace是字体,第五个参数fontScale是字缩放的比例,第六个参数color为颜色。win10 64位。3 项目选择x64。转载 2022-11-07 10:40:28 · 559 阅读 · 0 评论 -
Emgu CV4图像处理之视频分解/合成5(C#)
4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。运行后,可以看到Debug目录下存在名为"合成的视频.avi"的视频文件。win10 64位。3 项目选择x64。转载 2022-11-06 18:14:05 · 516 阅读 · 0 评论 -
Emgu CV4图像处理之图片读取、显示和保存4(C#)
本文测试环境:win10 64位vistual studio 2019 Emgu CV 4.6.0环境配置准备:1 新增控制台项目,.net framework为4.7.22 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下3 项目选择x644 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll和System.Runtime.InteropServices.RuntimeInformation.dll 具体配转载 2022-11-06 17:07:03 · 890 阅读 · 0 评论 -
Emgu CV4图像处理之形状 (三角形, 矩形, 圆形, 直线) 检测3(C#)
本文要实现的效果是从摄像头中采集图像,然后送进public static Mat ProcessImage(Mat img)方法进行图像处理。vistual studio 2019 (.net framework控制台程序)添加的dll引用和环境搭建的一样。win10 64位。翻译 2022-11-01 17:49:59 · 1285 阅读 · 0 评论 -
Emgu CV4图像处理之7行代码实现打开摄像头2(C#)
只需要7行代码,就能实现从摄像机中采集图片并实时地显示到窗体上。添加的dll引用和环境搭建的一样。win10 64位。翻译 2022-11-01 17:31:40 · 820 阅读 · 0 评论 -
Emgu CV4图像处理之环境搭建1(C#)
系统找不到指定的文件。把Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll和System.Runtime.InteropServices.RuntimeInformation.dll添加位服务引用。网上有说配置Path环境变量啥的,我发现Emgu CV 4.6.0解压出来的目录和CV3.x的目录结构不一样,个人认为是不用配置Path环境变量的,从官方的安装文档中(2 修改项目生成的目标平台,我的系统是64位的,所以选择x64,如果系统是32位的,则选x86。原创 2022-11-01 16:21:39 · 1947 阅读 · 1 评论