多商家网站建设,超级seo企业网站系统,宏福建设集团有限公司网站,wordpress timestamp【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 图像处理是工业生产重要的环节。不管是定位、测量、检测还是识别#xff0c;图像处理在工业生产中扮演重要的角色。而c#由于自身快速开发的特点版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 图像处理是工业生产重要的环节。不管是定位、测量、检测还是识别图像处理在工业生产中扮演重要的角色。而c#由于自身快速开发的特点十分适合用来进行图像处理开发。目前来说如果大家对opencv比较熟悉可以借助于c# opencv来进行图像处理。如果只是纯应用的话用c# halcon对图像进行处理也是可以的。 当然除了图像之外还要注意光源和镜头这部分可以在实际遇到具体问题的时候再处理。今天可以先打一个基础有一个基本的印象。本次使用到的库是opencv的c#库版本是OpenCvSharp3-AnyCPU这个需要注意下。 1、下载lena标准图片 学习数字图像处理的同学都知道lena标准图片是我们学习的重要参考资料。 2、安装OpenCvSharp3-AnyCPU库 下载的方法也是很简单直接打开NuGet工具包输入OpenCvSharp3-AnyCPU即可直接单击下载 3、界面设计 界面设计也不复杂。目前只是为了demo演示使用整个demo分成了两个部分左边是按钮右边是图像显示。而右侧图像显示的部分又分成了处理后的图像、原图像两个子区域部分。 关于功能部分的按钮这里只是添加了一个灰化的按钮有需要进一步拓展的同学可以继续去增加别的按钮丰富软件的功能增加一下软件的实用性。 它的xaml部分代码是这样的
Window x:ClassWpfApp.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfAppmc:IgnorabledTitleMainWindow Height550 Width1000GridDockPanelStackPanel Width130 DockPanel.DockLeft Margin10Button NamebtnChange2 Content图片灰显 ClickBtnChange2_Click Margin0,5,0,0/Button/StackPanelDockPanel VerticalAlignmentTop Margin10,10,10,10Image DockPanel.DockRight NameimgOrignal SourceC:\Users\feixiaoxing\Desktop\WpfApp\WpfApp\bin\Debug\test.png StretchUniformToFill Width400 /ImageImage NameimgOutput SourceC:\Users\feixiaoxing\Desktop\WpfApp\WpfApp\bin\Debug\test.png StretchUniformToFill Width400/Image/DockPanel/DockPanel/Grid
/Window4、代码设计和验证 代码设计也比较简单主要就是编写BtnChange2_Click这个回调函数。此外由于Mat生成的时候可以直接创建灰度图所以代码其实不算复杂大家掌握这个流程逻辑就可以了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;using OpenCvSharp;
using OpenCvSharp.Extensions;
using System.Drawing;namespace WpfApp
{/// summary/// MainWindow.xaml 的交互逻辑/// /summarypublic partial class MainWindow : System.Windows.Window{public MainWindow(){InitializeComponent();}private void BtnChange2_Click(object sender, RoutedEventArgs e){using (var src new Mat(C:\Users\feixiaoxing\Desktop\WpfApp\WpfApp\bin\Debug\test.png, ImreadModes.Grayscale)){var mem src.ToMemoryStream();BitmapImage bmp new BitmapImage();bmp.BeginInit();bmp.StreamSource mem;bmp.EndInit();imgOutput.Source bmp;}}}
}代码编写无误后没有错误的话就可以直接打开运行。打开之后单击左边的按钮我们一会就可以看到一张灰度图和一张彩色图了这说明整个代码编写应该是没有问题的。