当前位置: 首页 > news >正文

上海市建设监理协会网站wordpress建外贸网站

上海市建设监理协会网站,wordpress建外贸网站,百度上怎么发布作品,忆唐网不做网站做品牌01—需求这个是粉丝在我的技术群提的一个需求1、 模板匹配 #xff1a;功能#xff1a;#xff08;1#xff09;在一张大图像中#xff0c;选取一小块区域作为模板#xff08;2#xff09;可在大图像中匹配到模板图像和位置。模板匹配是图像处理中最基本、最常用的匹配方… 01—需求这个是粉丝在我的技术群提的一个需求1、 模板匹配 功能  1在一张大图像中选取一小块区域作为模板  2可在大图像中匹配到模板图像和位置。模板匹配是图像处理中最基本、最常用的匹配方法。目前我司用hacon去做的还进行了二次封装可以设置图片的旋转角度等信息这个设计公司机密这里我就用opencvNET封装版叫emgucv去实现这个功能。02—功能演示03—核心代码using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure; using PropertyChanged; using System; using System.Drawing; using System.IO; using System.Text; using System.Windows.Forms; using System.Windows.Media; using System.Windows.Media.Imaging;namespace Caliburn.Micro.Hello {[AddINotifyPropertyChangedInterface]public class MatchTemplateViewModel: IViewModel{public ImageSource TemplateImage { get; set; }public string TemplateImagePath { get; set; }public ImageSource MarkImage { get; set; }public string MarkImagePath { get; set; }public string ResultString { get; set; }public void MatchTemplate(){Mat src CvInvoke.Imread(TemplateImagePath, LoadImageType.AnyColor);//从本地读取图片Mat result src.Clone();Mat tempImg CvInvoke.Imread(MarkImagePath, LoadImageType.AnyColor);int matchImg_rows src.Rows - tempImg.Rows 1;int matchImg_cols src.Cols - tempImg.Cols 1;Mat matchImg new Mat(matchImg_rows, matchImg_rows, DepthType.Cv32F, 1); //存储匹配结果#region 模板匹配参数说明采用系数匹配法匹配值越大越接近准确图像。IInputArray image输入待搜索的图像。图像类型为8位或32位浮点类型。设图像的大小为[W, H]。IInputArray templ输入模板图像类型与待搜索图像类型一致并且大小不能大于待搜索图像。设图像大小为[w, h]。IOutputArray result输出匹配的结果单通道32位浮点类型且大小为[W - w 1, H - h 1]。TemplateMatchingType method枚举类型标识符表示匹配算法类型。Sqdiff 0 平方差匹配最好的匹配为 0。SqdiffNormed 1 归一化平方差匹配最好效果为 0。Ccorr 2 相关匹配法数值越大效果越好。CcorrNormed 3 归一化相关匹配法数值越大效果越好。Ccoeff 4 系数匹配法数值越大效果越好。CcoeffNormed 5 归一化系数匹配法数值越大效果越好。#endregionCvInvoke.MatchTemplate(src, tempImg, matchImg, TemplateMatchingType.CcoeffNormed);#region 归一化函数参数说明IInputArray src输入数据。IOutputArray dst进行归一化后输出数据。double alpha 1; 归一化后的最大值默认为 1。double beta 0归一化后的最小值默认为 0。#endregionCvInvoke.Normalize(matchImg, matchImg, 0, 1, NormType.MinMax, matchImg.Depth); //归一化double minValue 0.0, maxValue 0.0;Point minLoc new Point();Point maxLoc new Point();#region 极值函数参数说明IInputArray arr输入数组。ref double minVal输出数组中的最小值。ref double maxVal; 输出数组中的最大值。ref Point minLoc输出最小值的坐标。ref Point maxLoc; 输出最大值的坐标。IInputArray mask null蒙版。#endregionCvInvoke.MinMaxLoc(matchImg, ref minValue, ref maxValue, ref minLoc, ref maxLoc);StringBuilder tb_result new StringBuilder();tb_result.Append(min minValue ,max maxValue);tb_result.Append(Environment.NewLine);tb_result.Append(最小值坐标\n minLoc.ToString());tb_result.Append(Environment.NewLine);tb_result.Append(最大值坐标\n maxLoc.ToString());ResultString tb_result.ToString();//Console.WriteLine(tb_result);CvInvoke.Rectangle(src, new Rectangle(maxLoc, tempImg.Size), new MCvScalar(0, 0, 255), 3);//绘制矩形匹配得到的效果。CvInvoke.Imshow(result, src);CvInvoke.WaitKey(0);}/// summary/// 加载模板图片/// /summarypublic void LoadTemplateImage(){TemplateImage LoadImage(ImageLoadType.TemplateImage);}/// summary/// 加载标记图片/// /summarypublic void LoadMarkImage(){MarkImage LoadImage(ImageLoadType.MarkImage);}public ImageSource LoadImage(ImageLoadType imageType ){OpenFileDialog openFileDialog1 new OpenFileDialog();openFileDialog1.Filter 图片|*.jpg;*.jpeg;*.bmp;*.png;*.gif;openFileDialog1.FilterIndex 1;//当前使用第二个过滤字符串openFileDialog1.RestoreDirectory true;//对话框关闭时恢复原目录openFileDialog1.Multiselect false;openFileDialog1.Title 选择文件;ImageSource iSouce null;try{if (openFileDialog1.ShowDialog() DialogResult.OK){iSouce LoadImageFreeze(openFileDialog1.FileName);//加载显示完成需要释放switch(imageType){case ImageLoadType.MarkImage:MarkImagePath openFileDialog1.FileName;break;case ImageLoadType.TemplateImage:TemplateImagePath openFileDialog1.FileName; break;default: break;}return iSouce;}return null;}catch (Exception ex){Console.WriteLine($[MatchTemplateViewModel]:Load() execute error:{ex});return null;}}/// summary/// 图片加载显示完成后释放/// /summary/// param nameimagePath/param/// returns/returnspublic static BitmapImage LoadImageFreeze(string imagePath){try{BitmapImage bitmap new BitmapImage();if (File.Exists(imagePath)){bitmap.BeginInit();bitmap.CacheOption BitmapCacheOption.OnLoad;using (Stream ms new MemoryStream(File.ReadAllBytes(imagePath))){bitmap.StreamSource ms;bitmap.EndInit();bitmap.Freeze();}}return bitmap;}catch (Exception){return null;}}} }04—说明界面分别加载模板图片和标记图片然后点击匹配按钮进行匹配匹配结果在模板图片上用矩形标注并把位置信息显示在界面上①在NUGET上安装emgucv库我这里适应的是3.1。0.1注意emgucv每个版本不兼容②模板匹配接口MatchTemplate说明详细注释代码里面都有#region 模板匹配参数说明采用系数匹配法匹配值越大越接近准确图像。IInputArray image输入待搜索的图像。图像类型为8位或32位浮点类型。设图像的大小为[W, H]。IInputArray templ输入模板图像类型与待搜索图像类型一致并且大小不能大于待搜索图像。设图像大小为[w, h]。IOutputArray result输出匹配的结果单通道32位浮点类型且大小为[W - w 1, H - h 1]。TemplateMatchingType method枚举类型标识符表示匹配算法类型。Sqdiff 0 平方差匹配最好的匹配为 0。SqdiffNormed 1 归一化平方差匹配最好效果为 0。Ccorr 2 相关匹配法数值越大效果越好。CcorrNormed 3 归一化相关匹配法数值越大效果越好。Ccoeff 4 系数匹配法数值越大效果越好。CcoeffNormed 5 归一化系数匹配法数值越大效果越好。#endregionCvInvoke.MatchTemplate(src, tempImg, matchImg, TemplateMatchingType.CcoeffNormed);③外部加载 图片加载显示完成后释放返回BitmapImage 可以直接赋值给wpf控件的ImageSourcepublic static BitmapImage LoadImageFreeze(string imagePath){try{BitmapImage bitmap new BitmapImage();if (File.Exists(imagePath)){bitmap.BeginInit();bitmap.CacheOption BitmapCacheOption.OnLoad;using (Stream ms new MemoryStream(File.ReadAllBytes(imagePath))){bitmap.StreamSource ms;bitmap.EndInit();bitmap.Freeze();}}return bitmap;}catch (Exception){return null;}}
http://www.huolong8.cn/news/311267/

相关文章:

  • 中明建投建设集团 网站中国建设银行网站进不去
  • 保定的网站建设asp网站文章自动更新
  • WordPress建站 用插件微信公众号制作编辑器
  • 个人网站开发的现状做网站的有什么软件
  • 校园网站建设的缺陷自己电脑做电影网站
  • 网站百科怎么做汕头网站建设制作公司
  • 网站开发流程分为哪几个阶段网站怎么做翻页
  • 教师在哪些网站可以做兼职中文购物网站模板
  • 做网站样式模板网站对联广告
  • react怎么做pc网站网站开发的实训周
  • 游戏网站建设方案南昌seo排名方案
  • 网站软文推广网站阿里巴巴国际站网站建设
  • 做外贸站推广视频网站开发项目
  • 阮一峰的个人网站康展 wordpress
  • 做淘客网站的公司互联网公司设计师都设计什么
  • 新区seo整站优化公司南宁建站模板源码
  • 网站开发者工具下载wordpress安装图片不显示不出来
  • 推荐门户网站建设公司免费名字设计成图案
  • 花钱做网站需要所有权音乐主题资源网站建设
  • 商铺营销推广方案应用商店关键词优化
  • 菲律宾网站网站建设保定网站建
  • 凡诺网站下载免费看黄金的软件
  • 如何帮助网站吸引流量互联网建网站
  • 网站编辑面试问题和答案做网站的困难
  • 优化整站直接用ip做网站
  • 网站建设贰金手指下拉私募网站建设
  • 地方购物网站盈利模式网店运营心得体会
  • 公园网站建设医药公司网站备案
  • 20亿做网站wordpress页面属性
  • python 微信网站开发门户网站广告的类型