-
2021-04-26 09:50:48
C#与Halcon联合编程之用PictureBox控件替代HWindowControl控件
在C#与Halcon联合编程时,一般先需要在工具箱中加入Halcon自带的HWindowControl控件。最近在研究用PictureBox控件显示Halcon算子生成的图像或区域时,发现可用PictureBox控件来替代HWindowControl控件。
示例:
我自己创建了一个窗体(如下图),可实现一下三个功能:
(1)读图:打开一个文件夹,读取里面的一张图像;
(2)分割:画一个任意大小矩形,将矩形内的区域分割出来,并放大显示;
(3)阈值:利用二值化阈值算子将(2)中的矩形图像进行阈值处理;
代码:
窗体构造函数
创建窗口,并作为全局变量供其它功能使用;
HTuple _hWind;//窗口 全局变量 public Form1() { InitializeComponent(); //用pictureBox创建窗口 HOperatorSet.OpenWindow(0, 0, pictureBox1.Width, pictureBox1.Height, pictureBox1.Handle, "visible", "", out _hWind); }
功能一:读图
读取图像作为全局变量,供功能二使用;
HObject ho_Image; private void button1_Click(object sender, EventArgs e) { HTuple hv_Width, hv_Height; OpenFileDialog openDlg = new OpenFileDialog(); openDlg.RestoreDirectory = true; if (openDlg.ShowDialog() == DialogResult.OK) { HOperatorSet.ReadImage(out ho_Image, openDlg.FileName); HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height); HOperatorSet.SetPart(_hWind, 0, 0, hv_Height - 1, hv_Width - 1); HOperatorSet.DispObj(ho_Image, _hWind); } }
效果图:
功能二:分割
将放大显示图像作为全局变量,供功能三使用;
HObject ho_ImagePart; private void button2_Click(object sender, EventArgs e) { HTuple row1, column1, row2, column2; HTuple hv_Width, hv_Height; HObject rect, ho_ImageReduced; HOperatorSet.SetColor(_hWind, "red"); //画矩形 HOperatorSet.DrawRectangle1(_hWind, out row1, out column1, out row2, out column2); HOperatorSet.GenRectangle1(out rect, row1, column1, row2, column2); //分割图像 HOperatorSet.ReduceDomain(ho_Image, rect, out ho_ImageReduced); //将分割后的图像放大显示 HOperatorSet.CropDomain(ho_ImageReduced, out ho_ImagePart); HOperatorSet.GetImageSize(ho_ImagePart, out hv_Width, out hv_Height); HOperatorSet.SetPart(_hWind, 0, 0, hv_Height - 1, hv_Width - 1); HOperatorSet.ClearWindow(_hWind); HOperatorSet.DispObj(ho_ImagePart, _hWind); }
效果图 :
功能三:阈值
二值化阈值处理并显示处理后的区域
private void button3_Click(object sender, EventArgs e) { HObject ho_Region; HTuple hv_UsedThreshold; HOperatorSet.BinaryThreshold(ho_ImagePart, out ho_Region, "max_separability", "dark", out hv_UsedThreshold); HOperatorSet.DispRegion(ho_Region, _hWind); }
效果图:
更多相关内容 -
c# picturebox控件的使用方法介绍
2022-05-21 08:19:33c# picturebox控件的使用方法介绍。模拟常用的收藏功能。 -
c# Picturebox控件的使用方法介绍
2022-05-21 08:17:51c# picturebox使用方法 优化界面显示 -
C# PictureBox控件使用实例
2020-04-19 18:15:04这些代码是PictureBox控件的使用技巧,可以进行一下图片操作: 图片旋转; 图片黑白化; 图片底片化; 图片浮雕化; 图片柔滑; 图片锐化以及图片油画这几种效果。 提示:该代码编辑出来的程序跨平台能力不强(Mono... -
C#给picturebox控件加图片选中状态的2个方法
2020-09-05 14:31:06C#给picturebox控件加图片选中状态的2个方法,需要的朋友可以参考一下 -
VB利用PictureBox控件实现图像的放大和缩小
2021-05-11 13:20:25摘要:VB源码,图形处理,...VB利用PictureBox控件实现图像的放大和缩小,使用图片框放大缩小图像,很给力的代码,其原理也是比较容易理解的,因此对学习VB的新手来说是个不错的参考源码。 运行环境:Windows/VB6 -
C#WinForm开发:pictureBox控件背景图片局部放大
2020-09-22 20:34:14实现pictureBox控件背景图片的局部放大,同时显示鼠标光标在pictureBox控件中的相对坐标。 -
旋转PictureBox控件
2021-04-08 19:11:54一个PictureBox控件,可让您旋转图像。 -
基于halcon用picturebox控件及缩放功能
2018-07-06 19:26:34halcon自带的控件感觉没picturebox好用,文档简述了通过鼠标滚轮事件在picturebox上缩放图片,实际就是setpart图片,同理移动也是setpart图片部分,仅供参考。 -
c#在pictureBox控件上绘制矩形框,鼠标点击可拖拽,伸缩
2019-07-18 15:30:22winform在pictureBox控件上绘制矩形框,鼠标点击可拖拽,伸缩 -
C#PictureBox控件GDI绘图自定义图表控件类库
2020-12-31 14:27:17Picture Box写的GDI绘图自定义图表控件库,可自定义修改图表显示细节、效率,制作自己的图标显示控件 -
13.如何使用PictureBox 控件浏览多种格式的图像?(Visual C++编程 源代码)
2022-06-26 18:04:0713.如何使用PictureBox 控件浏览多种格式的图像?(Visual C++编程 源代码)13.如何使用PictureBox 控件浏览多种格式的图像?(Visual C++编程 源代码)13.如何使用PictureBox 控件浏览多种格式的图像?(Visual C++... -
Demonstration:该项目将图像存储为二进制文件,并从服务器检索图像并将其加载到PictureBox控件中。
2021-03-11 06:20:52该项目将图像存储为二进制文件,并从服务器检索图像并将其加载到PictureBox控件中。 该程序将允许用户从计算机上浏览图像文件并将其存储在MS SQL Server数据库中。 此代码仅供学生使用。 项目介绍 此代码的目的是... -
wpf调用C#pictureBox控件生成DWG文件缩略图
2015-04-12 21:50:45wpf调用C#pictureBox控件生成DWG文件缩略图 -
picturebox控件图片缩放和平移
2021-09-17 17:22:26picturebox控件图片缩放和平移,已实现类封装 -
最全的VB PictureBox控件使用教程
2011-11-08 16:51:51最全 VB PictureBox 控件使用教程 PictureBox 对象可以说是任何对象的原始型态,它可以加载图片、显示文 字、画图外,它还能..... -
VB中PictureBox控件使用教程.doc
2022-03-13 17:24:29VB中PictureBox控件使用教程 -
OpenCV读取摄像头显示到c#winform窗体上或pictureBox控件上
2022-01-28 08:36:01OpenCV读取USB或网络摄像头显示到winform的pictureBox控件上 -
C#实现动态生成picturebox控件,并在其载入不同的图片和文字
2014-08-18 13:38:16C#实现动态生成picturebox控件,并在其载入不同的图片和文字 -
真正透明的PictureBox控件
2011-07-26 11:53:52真正透明的Picturebox控件 Transparent PictureBox controll -
VB picturebox控件的拖动事件.rar
2019-07-09 09:31:30VB picturebox控件的拖动事件 -
VC.NET使用PictureBox 控件浏览多种格式的图像
2021-03-15 15:55:07摘要:VC/C++源码,控件相关,PictureBox 如何使用PictureBox 控件浏览多种格式的图像,就像一个图片查看器一样,可查看上一张、下一张,本程序就实现了这样一个功能,仅供参考。 -
C#picturebox控件使用时为何点击button1图片加载不出来呢?
2022-04-05 09:41:41C#picturebox控件使用时为何点击button1图片加载不出来呢? -
截取pictureBox控件图像.zip
2019-12-26 16:14:27此资源使用的是C#wimform,能够实现自动截取pictureBox显示的图像,保存在指定的文件目录。代码简单修改后能够直接使用。 -
Winform入门学习之PictureBox控件显示图片
2021-08-12 21:29:21一、创建一个项目,并添加控件 二、更改属性 三、编写程序 ‘四、更改控件属性,方便显示 五、结果显示 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...一、创建一个项目,并添加控件
二、更改属性
三、编写程序
‘四、更改控件属性,方便显示
五、结果显示
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Picturebox_control_displays_pictures { public partial class Form1 : Form { public Form1() { InitializeComponent(); /**********将路径下的图片转换成像素图片************/ Bitmap img = new Bitmap("E:\\学习资料\\windows窗体应用界面\\Picturebox control displays pictures\\111.jpg"); int w = img.Width; //设置变量W为像素图像的宽 int h = img.Height; //设置整型变量H为像素图的高 pictureBox1.Image = img;//显示图像 } } }
注意:路径为反斜双杠,否则会报错。
-
VB程序,通过PictureBox控件实现的动态曲线
2019-03-18 16:25:44使用VB6.0工具,PictureBox控件实现动态曲线的类模块,直接调用类模块,传递变化量的数值,自动完成曲线的动态连续生成。