首页 文章 精选 留言 我的

精选列表

搜索[SVG格式],共10000篇文章
优秀的个人博客,低调大师

知乎上有一个问题“在mfc框架中,有上面方法能直接将opencv2.0库中的Mat格式图片传递到Picture Control”中显示?

一直以来,我使用的方法都是shiqiyu在opencvchina上面提供的引入directshow,并且采用cvvimage和cameraDs的方法。这个方法虽然在xp/win7/win8下面都能够成果使用,但是一直以来我都没有动机去深入看一看这个方法。这次在知乎上面看到 jie wu 提出的“将Opencv窗口添加到PictureControl”中的方法,感到思路很好,进行了具体实现 http://pan.baidu.com/s/1nuixdhR 具体可以看代码,我帖一些主要代码 void CMfcRibbonTemplateView : :OnInitialUpdate() { CFormView : :OnInitialUpdate(); GetParentFrame() - >RecalcLayout(); ResizeParentToFit(); //根据控件的大小设置初始帧的大小 CRect rect; GetDlgItem(IDC_PBSRC) - >GetClientRect( &rect ); // 获取控件尺寸位置 m_lframe = Mat : :zeros(rect.Height(),rect.Width(),CV_8UC3); GetDlgItem(IDC_PBSRC) - >GetClientRect( &rect ); m_rframe = Mat : :zeros(rect.Height(),rect.Width(),CV_8UC3); //绑定Mat到Picturebox上去 namedWindow( "src",WINDOW_AUTOSIZE); HWND hWnd = (HWND)cvGetWindowHandle( "src"); HWND hParnt = : :GetParent(hWnd); : :SetParent(hWnd,GetDlgItem(IDC_PBSRC) - >m_hWnd); : :ShowWindow(hParnt,SW_HIDE); namedWindow( "dst",WINDOW_AUTOSIZE); hWnd = (HWND)cvGetWindowHandle( "dst"); hParnt = : :GetParent(hWnd); : :SetParent(hWnd,GetDlgItem(IDC_PBDEST) - >m_hWnd); : :ShowWindow(hParnt,SW_HIDE); } void CMfcRibbonTemplateView : :OnSize(UINT nType, int cx, int cy) { CFormView : :OnSize(nType, cx, cy); CWnd * pwndsrc = GetDlgItem(IDC_PBSRC); CWnd * pwnddst = GetDlgItem(IDC_PBDEST); //计算出长宽,这里的长宽是按照比例的,图像居中显示 int iblank = 15; //边界空余 int iwidth = cx / 2 -iblank * 2; int iheight =( int)(iwidth * 0. 75); if (pwndsrc - >GetSafeHwnd() && pwnddst - >GetSafeHwnd()){ pwndsrc - >MoveWindow(iblank,(cy -iheight) * 0. 4,iwidth,iheight); pwnddst - >MoveWindow(cx / 2 +iblank,(cy -iheight) * 0. 4,iwidth,iheight); } } void CMfcRibbonTemplateView : :showimage(Mat & src, UINT ID) { if (src.empty()) return; CRect rect; Mat dst = src.clone(); GetDlgItem(ID) - >GetClientRect( &rect ); // 获取控件尺寸位置 if (dst.channels() == 1) cvtColor(dst, dst, CV_GRAY2BGR); resize(dst,dst,Size(rect.Width(),rect.Height())); imshow( "src",dst); } 总体感到jie wu 提出的方法,对于解决比较简单的问题,的确是不错的(我记得halcon生成能够被csharp调用的代码的时候,好像采用的就是类似的方法)。但是它本身存在以下问题: 1、在窗体初始化的时候会有一个黑框弹出来,应该是nameWindow的效果; 2、在没有图片的时候,会自动将Picturebox的背景绘制成为灰色,而且好像不好控制; 3、仅仅是imshow还不能完成全部的调用,比如控件的大小可能还会变化,那么就需要用showimage重新进行封装。 如果加上这些7788的东西,那么最后调用起来,也是比较复杂的。 但是jie wu的方法有一个天生的优点,就是可以调用high gui的callback机制,这个是非常强的东西,能够省不少麻烦事情。 这里只是我粗浅的认识,若有不对之处,欢迎批评指正。 最后说一句,其实看了一些opencv自己的代码,它里面有很多地方就是iplimage和mat相互转换的,很多使用mat接口的函数,只不过是把以前的使用iplimage的函数重新包装了一次。opencv毕竟是一个开源的类库,还有很多地方需要大家一起做得更好。 目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com

优秀的个人博客,低调大师

如何使用YOLOv5来训练 中草药检测数据集,包含9709张图片及其对应的YOLO格式标注文件 50类 中草药数据集 现和优化你的中草药检测项目

中草药检测数据集9709张 50类【中草药检测YOLO数据集】共【9709】张,按照8比2划分为训练集和验证集,其中训练集【7767】张,验证集【1942】张,模型分为【50】类,分类为:【‘ginseng’, ‘Leech’, ‘JujubaeFructus’, ‘LiliiBulbus’, ‘CoptidisRhizoma’, ‘MumeFructus’, ‘MagnoliaBark’, ‘Oyster’, ‘Seahorse’, ‘Luohanguo’, ‘GlycyrrhizaUralensis’, ‘Sanqi’, ‘TetrapanacisMedulla’, ‘CoicisSemen’, ‘LyciiFructus’, ‘TruestarAnise’, ‘ClamShell’, ‘Chuanxiong’, ‘Garlic’, ‘GinkgoBiloba’, ‘ChrysanthemiFlos’, ‘AtractylodesMacrocephala’, ‘JuglandisSemen’, ‘TallGastrodiae’, ‘TrionycisCarapax’, ‘AngelicaRoot’, ‘Hawthorn’, ‘CrociStigma’, ‘SerpentisPeriostracum’, ‘EucommiaBark’, ‘ImperataeRhizoma’, ‘LoniceraJaponica’, ‘Zhizi’, ‘Scorpion’, ‘HouttuyniaeHerba’, ‘EupolyphagaSinensis’, ‘OroxylumIndicum’, ‘CurcumaLonga’, ‘NelumbinisPlumula’, ‘ArecaeSemen’, ‘Scolopendra’, ‘MoriFructus’, ‘FritillariaeCirrhosaeBulbus’, ‘DioscoreaeRhizoma’, ‘CicadaePeriostracum’, ‘PiperCubeba’, ‘BupleuriRadix’, ‘AntelopeHom’, ‘Pangdahai’, ‘NelumbinisSemen’】每个类别的图片数量和标注框数量如下:ginseng: 图片数【209】,标注框数【292】Leech: 图片数【163】,标注框数【284】JujubaeFructus: 图片数【216】,标注框数【800】LiliiBulbus: 图片数【191】,标注框数【259】CoptidisRhizoma: 图片数【192】,标注框数【207】MumeFructus: 图片数【194】,标注框数【696】MagnoliaBark: 图片数【203】,标注框数【598】Oyster: 图片数【198】,标注框数【245】Seahorse: 图片数【150】,标注框数【381】Luohanguo: 图片数【201】,标注框数【252】GlycyrrhizaUralensis: 图片数【190】,标注框数【280】Sanqi: 图片数【190】,标注框数【231】TetrapanacisMedulla: 图片数【183】,标注框数【212】CoicisSemen: 图片数【192】,标注框数【244】LyciiFructus: 图片数【214】,标注框数【598】TruestarAnise: 图片数【212】,标注框数【644】ClamShell: 图片数【171】,标注框数【649】Chuanxiong: 图片数【209】,标注框数【544】Garlic: 图片数【222】,标注框数【608】GinkgoBiloba: 图片数【190】,标注框数【629】ChrysanthemiFlos: 图片数【167】,标注框数【267】AtractylodesMacrocephala: 图片数【198】,标注框数【277】JuglandisSemen: 图片数【196】,标注框数【499】TallGastrodiae: 图片数【192】,标注框数【368】TrionycisCarapax: 图片数【200】,标注框数【298】AngelicaRoot: 图片数【211】,标注框数【316】Hawthorn: 图片数【188】,标注框数【367】CrociStigma: 图片数【217】,标注框数【240】SerpentisPeriostracum: 图片数【175】,标注框数【180】EucommiaBark: 图片数【196】,标注框数【469】ImperataeRhizoma: 图片数【196】,标注框数【214】LoniceraJaponica: 图片数【188】,标注框数【409】Zhizi: 图片数【213】,标注框数【1073】Scorpion: 图片数【169】,标注框数【227】Houtt

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册