自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 APS .Net MVC 之APIController与Controller的区别

APIController Controller 开发模式 WebAPI MVC 命名空间 System.Web.Http System.Web.Mvc 返回方式 json/text或者xml/text html/text action的默认请求方式 post post与get 路由的映射格式 api/{controlName}/ {controlName}/{actionName} APIController...

2021-09-29 15:52:16 1377

原创 VSCode idea 配置xml文件的dtd约束文件

如上图配置X

2021-06-18 15:37:19 2006 1

原创 OpenCVSharp Mat.Set<T>修改像素颜色

笔记:Mat.Set<T>方法修改图像中的颜色,T的类型不能是Scalar,应为Vec3b,否则颜色修改失败C#代码:Mat labs = new Mat();int counts = Cv2.ConnectedComponents(otsu,labs,PixelConnectivity.Connectivity4);List<Vec3b> colors = new List<Vec3b>();colors.Add(new Vec3b(0, 0, 0));

2020-12-18 10:59:09 2571

原创 OpenCVSharp之轮廓查找凸度缺陷

主要算子:1.查找轮廓线public static void FindContours( InputOutputArray image, out Point[][] contours, out HierarchyIndex[] hierarchy, RetrievalModes mode, ContourApproximationModes method, Nullable<Point> offset = null)参数:image:canny算子处理后的图像

2020-12-03 10:51:00 1932

原创 OpenCVSharp之ArucoSample例程

ArUco:是一个根据预设黑白Markers来估计相机位姿的开源库。该库由C++编写,运行速度很快。已被应用在了机器人导航、增强现实和目标姿态估计中。DetectorParameters :检测标记程序的参数属性:CornerRefinementMethod:角落细化方法(CORNER_REFINE_NONE:没有细化,CORNER_REFINE_SUBPIX:亚像素细分,CORNER_REFINE_CONTOUR:使用轮廓点)CornerRefinementWinSize:角落细化过程的.

2020-11-23 08:31:53 780

原创 OpenCVSharp之ClaheSample示例

CLAHE:限制对比度自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization)public double CLAHE.ClipLimit { get; set; }:设置或获取用于限制对比度的阈值Mat src = new Mat(FilePath.Image.TsukubaLeft, ImreadModes.Grayscale);Mat dst1 = new Mat();Mat dst2 = new Mat();Mat dst3

2020-11-23 08:28:54 614

原创 OpenCVSharp之BRISKSample示例

BRISK算法:是一种特征提取算法,也是一种二进制的特征描述算子。具有良好的局部不变性(旋转不变性,尺度不变性),较好的鲁棒性。对较大模糊的图像配准时,比较有优势。尺度不变性:人们在识别一个物体时,不管这个物体或近或远,都能对物体进行正确的辨认旋转不变性:当物体进行旋转时也能正确辨认处理步骤:Brisk(Binary Robust Invariant Scalable Keypoints)特征 相比于 SURF SIFT 有些步骤是相同的 构建尺度空间 特征点检测 ...

2020-11-21 11:37:57 448

原创 OpenCVSharp之BinarizerSample示例

Niblack:二值化算法,阈值的计算公式:T=M+K*V,M为以该像素点为中心的区域的平均灰度值,K为修正系数,V为该区域的标准差对输入图像应用Niblack进行阈值设定public static void NiblackThreshold( InputArray src, OutputArray dst, double maxValue, ThresholdTypes type, int blockSize, double k, LocalBinarizationMethods b

2020-11-20 13:50:12 395

原创 OpenCVSharp之BgSubtractorMOG例程

VideoCapture:视频捕获类BackgroundSubtractorMOG:基于高斯混合的背景/前景分割算法BackgroundSubtractorMOG2:背景/前景分割的基类。这个类只用于定义整个背景/前景分割算法家族的通用接口。public bool VideoCapture.Read( Mat image ):抓取,解码并返回下一个视频帧。public virtual void BackgroundSubtractorMOG.Apply( InputArray image,

2020-11-20 10:50:43 444

原创 OpenCVSharp例程PhotoMethods

边缘滤波保持器public static void EdgePreservingFilter( InputArray src, OutputArray dst, EdgePreservingMethods flags = EdgePreservingMethods.RecursFilter, float sigmaS = 60f, float sigmaR = 0.4f)Parameters:src:输入图像dst:目标图像flags:边缘保存滤波器RecursFilte...

2020-11-19 10:47:59 260

原创 OpenCVSharp 学习笔记(一)

OpenCVSharp C# pictureBox显示图像:Mat img = Cv2.ImRead(fileName);Bitmap bitMap = BitmapConverter.ToBitmap(img);pictureBox1.Image = bitMap;public static void Resize( InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0, In.

2020-11-18 14:14:15 888

原创 C# NModbus的主从站开发以及Modbus Slave、Modbus Poll工具的使用

NModbus的主站开发1.开发环境要求:PC端作为主站,控制器作为从站2.PC端初始化代码:serialPort = new SerialPort();serialPort.PortName = "COM1";serialPort.BaudRate = 9600;serialPort.DataBits = 8;serialPort.StopBits = StopBits.One;serialPort.Parity = Parity.Even;master = ModbusSeri

2020-10-20 14:03:24 10111 11

原创 halcon change_radial_distortion_points算子

change_radial_distortion_points:改变像素坐标的径向畸变,不适用线扫描相机描述:该算子根据相机内部参数CamParamln和CamParamOut改变输入图像坐标(Row,Col)的径向畸变,使用CamPaaramln将每个输入像素(Row,Col)转换为图像平面,并使用CamParamOut将其投影为另一幅图像径向畸变:光线在远离透镜中心的地方比靠近中心的地方更加弯曲...

2020-10-09 15:15:19 463

原创 Halcon C# 循环显示图片的问题

功能实现:winform界面开发中添加多个pictureBox控件用于显示图片,通过halcon的DispObj方法展示图片问题描述:通过主窗口传递多个图片到子界面并显示图片,结果图片显示一段时间后会自动刷新为空白代码:HTuple m_Window = new HTuple();HOperatorSet.OpenWindow(0, 0, pic.Width, pic.Height, pic.Handle, "visible", "", out m_Window);HTuple h

2020-10-09 10:34:26 1254 1

原创 Python 之OpenCV的阈值分割

阈值分割cv.threshold(src, thresh, maxval, type, dst=None)src:原图thresh:阈值maxval:当type指定为THRESH_BINARY或THRESH_BINARY_INV时,需要设置该值;type:不同类型的阈值类型 条件 选中阈值区间 THRESH_BINARY if src(x,y) > thresh dst(x,y) = maxValue else dst(x,y) = 0

2020-08-11 15:40:14 658

原创 OpenCV 图像几何变换函数

1.resize 放大缩小函数python:CV_EXPORTS_W void resize( InputArray src, Size dsize,OutputArray dst, double fx=0, double fy=0, int interpolation=INTER_LINEAR );C++ :void resize(InputArray src, OutputArray ...

2020-08-10 14:39:13 489

原创 C# Remoting理解

问题:命名空间“System.Runtime.Remoting.Channels”中不存在类型或命名空间名“Tcp”(是否缺少程序集引用?)解决:项目->添加引用->程序集->选中System.Runtime.Remoting

2020-07-22 17:13:22 1136

原创 Python之赋值运算

python支持多位赋值的方式:第一种:a,b,c = 1,2,3>>a1>>b2>>c3第二种:a = b = c = 1>>a1>>b1>>c1第三种:a,b,c = [1,2,3],当一个数组类型赋值给多个变量的时候,多个变量是依次获取指定下标位置的值>>a1>>b2>>c3...

2020-07-18 13:45:36 779

转载 C# NModdbus

https://www.cnblogs.com/pandefu/p/10849823.html作者:Peter.Pan出处:https://www.cnblogs.com/pandefu/>邮箱: [email protected]关于作者:.Net,WindowsForm,工控软件,Modbus,OPC/Tcp/Ip,串口通讯本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。 如有问题, ...

2020-07-16 16:59:18 355

原创 explore_halcon.hdev(36)之p_do_multiple_parts函数模块

函数:基于形状模型匹配,模型旋转360度对图形进行匹配算子:1.gen_contours_skeleton_xld(Skeleton : Contours : Length, Mode : ):将输入骨架转成轮廓参数:Length:轮廓线必须拥有的最小点数Mode :轮廓过滤模式2.create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric,

2020-06-20 14:23:05 234

原创 explore_halcon.hdev(35)之p_do_roads函数模块

函数:根据航拍图像提取道路中心算子:1.lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : )

2020-06-20 13:37:14 252

原创 explore_halcon.hdev(34)之p_do_resistors函数模块

函数:使用多重聚焦级别提取深度根据多个不同聚焦的图片,通过depth_from_focus算子获取图像深度,在经过一系列的变换获取最终的深度图像效果图:算子:1.channels_to_image(Images : MultiChannelImage : : ):转换为一个多通道的图2.access_channel(MultiChannelImage : Image : Channel : ):访问多通道图像的通道3.depth_from_focus(MultiFocusImag

2020-06-19 10:28:07 389

原创 explore_halcon.hdev(33)之p_do_circles函数模块

函数:测量钢球的半径根据图像通过fast_threshold阈值分割算子获取钢球的区域,获取区域的边界region,剪切边界,通过边界裁剪图像,对裁剪的图像进行轮廓线提取。最后通过提取的轮廓线拟合圆效果图:算子:1.boundary(Region : RegionBorder : BoundaryType : ):把一个区域缩小到它的边界参数:BoundaryType:边界类型('inner':轮廓i型按在原区域内。'outer':原始区域外的一个像素。'inner_fille.

2020-06-19 09:10:54 185

原创 explore_halcon.hdev(32)之p_do_angio函数模块

函数:通过算子lines_gauss提取图像中的XLD算子:1.lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : ):检测线条及其宽度,以亚像素精度返回XLDLow与High计算公式:ContrastLow 和ContrastHigh是待提取线段的灰度值对比参数:Sigma:平滑量(较大的值会导致线的提取比较差)Low:

2020-06-19 08:02:50 159

原创 explore_halcon.hdev(31)之p_do_razor_blades函数模块

函数:该示例程序使用基于形状的匹配来测量工具的排列ROI,然后测量工具检查单个刀片效果图:函数:1.gen_measure_rectangle2( : : Row, Column, Phi, Length1, Length2, Width, Height, Interpolation : MeasureHandle):提取垂直于矩形的直线边参数:Width, Height:随后处理图像的宽、高Interpolation :使用的内插类型MeasureHandle:测量对象句柄

2020-06-18 15:19:46 181

原创 explore_halcon.hdev(30)之p_do_grid_rectification函数模块

函数:根据原始网格与校正后的网格生成映射Map,在对图像应用映射校正图像,识别图像中的条形码鞍点:一个不是局部极值点的驻点称为鞍点驻点:函数在一点处的一阶导数为零效果图:算子:1.find_rectification_grid(Image : GridRegion : MinContrast, Radius : ):对图像中的校正网格区域进行分割,提取对比度至少为MinContrast的图像区域,并填充这些区域中的孔。然后,一个半径为Radius的开口应用于这些区域,以消除较小的

2020-06-18 09:36:30 400

原创 explore_halcon.hdev(29)之p_do_mosaicking函数模块

函数:对图像进行拼接,拼接步骤:1.读取图像 2.计算特征点 3.计算变换矩阵 4.拼接效果图:算子:1.change_radial_distortion_cam_par( : : Mode, CamParamIn, DistortionCoeffs : CamParamOut):根据指定的径向畸变确定新的相机参数。不适用与线扫描相机参数:Mode:'fixed':只修改畸变系数,其他相机内部参数不变。会导致场景可见部分的变化 'fullsize':缩放系数、和图像中心会修

2020-06-17 15:31:58 360

原创 explore_halcon.hdev(29)之p_do_color_fuses函数模块

函数:对图像进行颜色识别,将突图像转为RGB三通道图,将三通道图转成’hsv‘色差空间中,在针对颜色特定的灰度值范围对图像中的物体进行区分,图像的明亮度对结果影响不大效果图:主要算子:trans_from_rgb:从RGB颜色空间转换图像到任意颜色空间HSV:H色调、S饱和度、V明度计算方式: Min := min([R, G, B]) Max := max([R, G, B]) V := Max if (Max == Min) S := 0 ...

2020-06-16 17:06:15 179

原创 explore_halcon.hdev(28)之p_do_world_plane函数模块

函数:当相机与物体平面不在同一个平面内是,通过shape-base对物体进行识别,首先通过标定获取相机的参数,通过set_origin_pose算子对位姿进行移动,去掉标定版的厚度。根据标定获取到的参数生成投影映射,对应用映射的图像进行shape-base匹配,找出符合模型的轮廓,并对匹配到的坐标进行一系列仿射变化加以显示图像仿射变换:第一种:根据位姿计算 3D仿射变换1.pose_to_hom_mat3d:根据3D位姿生成其次变换矩阵(3D位姿是目标对象的位姿)2.affine_tra

2020-06-16 16:43:09 263

原创 explore_halcon.hdev(27)之p_do_pcb函数模块

1.gray_opening_shape(Image : ImageOpening : MaskHeight, MaskWidth, MaskShape : ):用选的的模版打开灰度值

2020-06-15 13:44:02 245

原创 Halcon模型匹配

形状模型匹配:分为一般形状模型匹配shape_model、线性变形匹配模板planar_deformable_model、局部可变形模板local_deformable_model、和比例缩放模板Scale_model1.形状模型匹配shape_model:不支持投影变形的模版匹配,匹配速度最快。模板的形状和大小一经制作完毕便不再改变,在查找模板的过程中,只会改变模板的方向和位置等来匹配目标图像中的图像。这个方法查找速度很快,但是当目标图像中与模板对应的图像存在比例放大缩小或是投影变形如倾斜等,均会影响

2020-06-15 10:06:21 992

原创 halcon edges_image算子分析

edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : ):使用Deriche, Lanser, Shen或者Canny 滤波器进行边缘提取参数:Image :输入图像ImaAmp:边缘振幅(梯度大小)图像ImaDir :图像边缘方向Filter:边缘算子Alpha:过滤器参数,小的值导致强平滑,但是更少的细节(canny算子相反)NMS:非最大抑制(设置为none,表示不需要使用该值)Low:

2020-06-15 09:49:03 3631

原创 HALCON guided_filter导向滤波算子分析

1.guided_filter(Image, ImageGuide : ImageGuided : Radius, Amplitude : )可应用在图像增强,HDR压缩、图像抠图及图像去雾等场景参数:Radius:滤光片的大小,数值越大,滤波影响的区域越大,保留的细节越少。Amplitude:用来决定什么是边,什么是齐次区域。Amplitude(振幅)越大,边缘越平滑。建议振幅的值应该低于需保留边缘的对比度当Image和ImageGuide为同一张图片,则guided_filter主要是.

2020-05-16 09:56:29 2018 1

原创 explore_halcon.hdev(26)之p_do_2dbarcode函数模块

Halcon的二维码解码步骤和解析:作者:xh6300出处:http://www.cnblogs.com/xh6300/

2020-05-13 14:20:24 270

原创 explore_halcon.hdev(25)之p_do_ocr_color函数模块

函数:OCR分割带有颜色的图像中的数字效果图:算子:1.mean_image(Image : ImageMean : MaskWidth, MaskHeight : ):均值滤波,对于模糊图像以及图像内部的噪声具有很好的作用 (取周围点的平均值)滤波器的模板的大小是指滤波矩阵的维度2.clip_region(Region : RegionClipped : Row1, Column1, Row2, Column2 : ):将一个区域剪切到一个矩形中3.sub_image(Imag

2020-05-12 08:28:25 133

原创 explore_halcon.hdev(24)之p_do_cookie_box函数模块

函数 :基于描述匹配:应用场景:搜索对象有轻微的变形,透视的场合。根据一些描述点的位置和灰度值进行匹配效果图:1.find_calib_descriptor_model(Image : : ModelID, DetectorParamName, DetectorParamValue, DescriptorParamName, DescriptorParamValue, MinScore, NumMatches, CamParam, ScoreType : Pose, Score):找到图

2020-05-12 08:27:35 164

原创 explore_halcon.hdev(23)之p_do_balls函数模块

函数:该函数是焊球检验对于小于17的直径判断为不符合,主要是通过threshold算子对图像进行处理,识别出焊球的轮廓,针对轮廓的误差使用expand_gray进行调整,最后计算轮廓的半径进行判断效果图:算子:1.select_shape_std(Regions : SelectedRegions : Shape, Percent : ):选择给定形状的区域参数:Regions :给定区域SelectedRegions :输出选择区域Shape:要选择的形状特征Per

2020-05-11 10:06:41 235

原创 explore_halcon.hdev(22)之p_do_variation_modle_illumination函数模块

1.create_scaled_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, Contrast, MinContrast : ModelID):准备一个等温线比例的星环模型进行匹配参数:Template :输入将用于创建模型的域的图像NumLevels:金字塔层的最大数量AngleStart

2020-05-10 13:12:54 259

原创 explore_halcon.hdev(21)之p_do_optical_flow_bicycle函数模块

1.optical_flow_mg(ImageT1, ImageT2 : VectorField : Algorithm, SmoothingSigma, IntegrationSigma, FlowSmoothness, GradientConstancy, MGParamName, MGParamValue : ):计算两幅图像的光流

2020-05-09 14:27:56 331

原创 explore_halcon.hdev(20)之p_do_novelty_detection_gmm函数模块

图像的频率:灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度低频:灰度缓慢的变化,连续渐变的区域高频:显示图像的边缘函数:通过纹理过滤器过滤的图像进行GMM(高斯混合模型)分类, 对分类出的区域进行difference,分割出不同区域,对分割出的区域select_shape条件判断,找出异常的区域效果图:1.zoom_image_factor(Image : ImageZ...

2020-05-08 16:16:09 248

Modbus测试工具

ModbusSlave/ModbusPoll/vspd虚拟串口工具,ModbusSlave/ModbusPoll/vspd虚拟串口工具,ModbusSlave/ModbusPoll/vspd虚拟串口工具

2020-10-20

RS232Demo.zip

控制器通信输入输出通过SerialPort工具类实现软件与控制器之间的通信,主要是实现控制器出发一个输入信号,软件发送指定数据格式,等待控制器返回数据,判断当前控制器的输入状态进行开灯关灯操作

2019-12-05

空空如也

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

TA关注的人

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