OpenCv打开图像窗口显示在MFC控件上 和 Qt控件上

我个人实现的MFC+OpenCV4+VS2017对话框打开并显示图像,还能支持ROI矩形框选(橡皮筋类) 我在上一篇博客《OpenCV 4.x不再提供IplImage类型支持了?不再支持CvvImage类库?来看具体细节》提到: 阅读详情

OpenCv将图像窗口嵌入到MFC Picture Control控件上,resizeWindow调整窗口大小和控件大小一致,WINDOW_NORMAL设置图像自适应窗口

int width, height;
CRect picRect;

GetDlgItem(IDC_DISPLAY_STATIC)->GetClientRect(&picRect);
width = picRect.right;
height = picRect.bottom;

namedWindow("MyPicture", WINDOW_NORMAL);
resizeWindow("MyPicture",width,height);
HWND hWnd = (HWND)cvGetWindowHandle("MyPicture");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_DISPLAY_STATIC)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);



char *fn="E:\\img\\18-11-52O.bmp";	
Mat image=imread(fn);
if(!image.data)
	MessageBox(_T("图像加载失败!"));
imshow("MyPicture",image);

 

 

显示到Qt控件,(参考)



#include "mainwindow.h"
#include "ui_mainwindow.h"



MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 打开摄像头
    bool ok = mvCapture.open(0);

    namedWindow("view", WINDOW_AUTOSIZE);

    HWND Whnd;
    Whnd=(HWND)cvGetWindowHandle("view");
    if (Whnd)
    {
        HWND parentHwnd;
        parentHwnd = (HWND)GetWindowLong(Whnd,GWL_HWNDPARENT);
        if(parentHwnd)
        {
            ShowWindow(parentHwnd,SW_HIDE);//隐藏
        }

        SetWindowLong(parentHwnd,GWL_STYLE,/*WS_CLIPCHILDREN|*/WS_CLIPSIBLINGS|WS_CHILDWINDOW);//隐藏标题栏

        SetWindowLong(parentHwnd,GWL_EXSTYLE,WS_EX_TOPMOST);//在最前面

        if(parentHwnd)
        {
            ShowWindow(parentHwnd,SW_SHOW);//显示
        }
    }

    QObject::connect(&dataTimer, SIGNAL(timeout()), this, SLOT(OnTimer()));
    dataTimer.start(100);



    //QWidget* a = QWidget::find((WId)hWnd1);
    //ui->gridLayout->addWidget(a);
}

MainWindow::~MainWindow()
{
    delete ui;
}


// 显示定时器
void MainWindow::OnTimer()
{
    Mat srcImage;
    mvCapture>>srcImage;
    imshow("view", srcImage);
}

 

MFC之打开(开发)映美精相机 本人是研究机器视觉方向的,今天首先介绍本人采用的相机。 相机采用的是德国映美精工业相机 GIGE彩色相机DFK33GX264。GIGE相机和USB类相机不同,他需要各种驱动,软件包才可以对其开发,进行打开相机并抓拍图片。在网上找了很多资料以后,走了很多弯路,还是走不通,而且查到最有用的资料还是利用QT调用的映美精,而我是利用MFC和C++开发,所以决定从最简单的开始一步步的摸索,下边一步步介绍。 一:准备工作 操作系统:win10 相机:映美精GIGE彩色相机 编译环境:VS2015+Opencv2.4.1 阅读详情

相关推荐

基于OpenCV与MFC的数字图像处理实验平台设计与实现

数字图像处理是计算机视觉领域的核心技术,其核心原理在于通过算法对像素矩阵进行变换,以增强特征、提取信息或改善视觉质量。从基础的灰度化、滤波,到复杂的边缘检测、频率域变换,这些技术构成了现代图像分析、模式识别等应用的基石。OpenCV作为开源计算机视觉库,提供了高效、丰富的算法实现,是学习和工程实践的重要工具。结合C++进行开发,能深入理解内存管理与算法性能,而MFC框架则便于构建直观的桌面交互界面,将算法过程可视化。这种组合特别适用于教学演示和算法原型验证,能直观展示参数调整对处理结果的影响。本文以构建一个

weixin_33898876的博客 425

OpenCV初探 —— 将OpenCV窗口链接在MFC的PictureControl控件中

将OpenCV窗口链接在MFC的PictureControl控件中

OmuziO的博客 2010

C++ Qt OpenCV实战:桌面图像处理工具ImagePorc开发全解析

计算机视觉与桌面应用开发是当前软件开发领域的重要分支,其核心在于将算法模型转化为用户可交互的实用产品。从技术原理上看,这涉及到图像处理算法库(如OpenCV)的调用、图形用户界面(GUI)框架的集成以及高效的C++工程实践。其技术价值在于打通从理论到应用的闭环,让开发者不仅理解算法API,更能掌握软件模块组织、事件驱动编程和性能优化等工程能力。在应用场景上,这类技术广泛应用于图像编辑软件、医学影像分析、工业质检工具等需要本地高性能处理的领域。本文以ImagePorc项目为例,深入探讨了如何利用C++、Qt和

weixin_28839699的博客 292

【MFC】把OPENCV窗口嵌入到MFC的窗口中

创建MFC多文档项目mfcOpenCVVideo 在项目的APP类中引入GDI+绘图的头文件, // mfcOpenCVVideo.h : mfcOpenCVVideo 应用程序的主头文件 // #pragma once #ifndef __AFXWIN_H__ #error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件" #endif #include "resource.h" // 主符号 #include <GdiPlus.h> using na

大糊涂虫 1809

MFC中嵌入显示opencv窗口

使用cv::resizeWindow

m0_60352504的博客 1038

C++/OpenCV/Qt实战:图像处理软件完整项目开发笔记

图像处理是计算机视觉的基础技术之一,核心包括灰度化、二值化、均值滤波与边缘检测等经典算法。在实际工程中,如何将这些算法嵌入一个可交互的桌面应用,比单纯调用算法函数更具挑战。通过C++与OpenCV处理图像数据,结合Qt构建信号槽驱动的GUI界面,可以搭建出性能优异、架构清晰的图像处理软件。技术栈涵盖cv::Mat与QImage的无缝转换、多线程异步处理、自适应阈值调参等关键环节,广泛应用于工业视觉检测、课程设计及上位机开发等场景。本文以一套功能完整的图像处理项目为例,围绕技术选型、整体架构、核心算法实现、环

weixin_30780649的博客 463

opencv在mfc窗口显示图片

【代码】opencv在mfc窗口显示图片。

weixin_45118169的博客 2316

C++/OpenCV/Qt图像处理软件实战:从架构到算法实现全解析

图像处理作为计算机视觉的基础方向,常涉及灰度化、二值化、滤波和边缘检测等经典算法,而如何将这些算法封装为可交互、可扩展的桌面工具则是工程实践的关键。OpenCV作为高性能算法引擎,提供了丰富的图像处理函数和SIMD优化能力;C++保证了运行效率与独立部署的可行性;Qt则凭借跨平台UI开发与信号槽机制,弥补了OpenCV原生显示控件在复杂交互上的不足。三者结合能构建出算法验证、课程设计乃至工业级处理的工作台。本文从图像处理任务的需求出发,详解了C++工程架构设计、OpenCV算法实现、Qt界面显示链路以及CM

weixin_33849215的博客 623

opencv显示窗口嵌入MFC的pictureControl控件

1、window_w32.cpp中的DWORD defStyle = WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU;2、注释掉: //ShowWindow(mainhWnd, SW_SHOW);①配置:选中源码路径,放置的路径,点击Configure,直到完成;②勾选:BUILD_opencv_world 编译成一个库。③生成:配置下VS的版本以及库版本,直到生成完毕。二、MFC对话框中嵌入opencv窗体代码。1、首先需要添加头文件。4、VS重新编译源码。

songruixin的博客 816

在matlab中运行自带的模块(以CCSDS LDPC Decoder模块为例)

最新版的获取需要注册 MathWorks 账户 访问账户注册页面:www.mathworks.cn/mwaccount/register。下载新版本或历史版本的MATLAB,请登陆:https://www.mathworks.cn/downloads 并下载。点击此处可以拷贝调用例程的命令,在matlab命令行输入即可自动获取代码。可以看到页面中写了该模块需要在R2022b以上版本使用。运行.m文件可以生成simulink运行所需要的数据。可以看到左侧下载到了官方历程的文件。之后双击slx文件即可打开。

qq_28455081的博客 885

PX4/ArduPilot源码克隆提速秘籍:国内镜像与子模块优化全攻略

本文详细介绍了PX4/ArduPilot源码克隆的提速秘籍,包括使用国内镜像源和子模块优化技巧。通过阿木实验室、华为云等国内镜像,克隆速度可提升20倍,同时提供子模块替换和并行编译等实用方法,大幅提升开发效率。

weixin_29251567的博客 523

opencv+MFC显示图像

最近在做一个

hduzhouli 2271

Java判断地图坐标(经度,纬度)是否在多边形区域或圆形区域内

​欢迎光临我的博客查看最新文章:在地图上,可以使用经纬度确定一个位置,如上海体育场(121.449391,31.188228),如果知道了2个地点的经纬度,我们就能在地图上找到其位置及2点的距离,百度地图或高德地图提供了相应的服务;如果将多个坐标点连成多边形区域,如何判断某个坐标点是否在多边形区域内,如下工具类。

river106的博客 3943

OpenCV - MFC/QT中使用opencv

第一次使用MFC,用来为接下来的小工程搭建GUI界面。 1、创建好工程后,图形界面在资源视图的IDD_名称_DIALOG,点开就可以拖控件了,控件都在工具箱中。 2、右键控件可以打开属性,其中Caption属性可以用来更改控件显示的文本,每个控件都有一个ID和Name 3、双击控件就可以添加事件了,删除控件的时候需要删除3个地方(1)控件本身、(2)注册的事件、(3)BEGIN_MESSAG...

青山渺渺 625

轻量级NAS的隐秘战场:比特米盒CumeBox2与CasaOS的生态融合实践

本文探讨了比特米盒CumeBox2轻量级NAS设备与CasaOS操作系统的生态融合实践。通过硬件选型、系统部署、性能优化和应用场景分析,展示了如何将CumeBox2与CasaOS深度整合,打造经济实用的家庭数据管理中心,特别适合入门级用户和小型办公环境。

rl6adventurer的博客 895

风力发电机并网模型建立及仿真验证

传统能源日益匮乏,环境污染日趋严重,全球向安全、可靠和环保的可持续能源体系转型迫在眉睫,风电迎来了重要的发展契机。近年来,全球风电迅猛发展,我国已成为世界风电新增装机容量第一的国家。然而,随着风电规模的不断增大,风电场接入对系统影响不容忽视。随着变速恒频风力发电系统优越的性能突出和大容量电力电子技术的成熟,风速随机性引起的功率波动及故障情况下的动态响应,对电能质量,系统电压、频率的稳定性产生的影响需要深入研究。因而,本文结合实际项目,针对变速恒频风力发电系统建模,端口动态特性及对电网电能质量、运行稳定性的影

毕业设计区博客 1639

[Qt&MFC] 各种方式的图像读取(OpenCv、Halcon)

1 .在MFC添加控件—Picture Control、按钮button 2.添加初始化代码 代码: //以下代码是将显示的图片窗口嵌入到MFC界面当中 //创建cv窗口 namedWindow("view",WINDOW_AUTOSIZE); // 设置依附关系, 将cv窗口嵌入MFC主要是下述代码起作用了. HWND hWnd = (HWND)cvGetWindowHandle("view...

Loewen丶的小窝 3811

2024顶级提示工程工具:提升效率的12个神器

LlamaIndex虽然本身不是直接的提示词编辑工具,但其整个设计都围绕着如何有效地将外部知识融入LLM的提示词。它提供了结构化的方式来管理“上下文窗口”——即哪些私有数据应该被包含在提示词中。通过优化索引结构和检索策略,可以确保提示词中包含最相关、最高质量的上下文信息,从而大幅提升LLM基于私有数据回答问题的准确性和相关性。同时,LlamaIndex允许开发者针对不同的查询类型和数据特点定制提示词模板,这使得提示词的复用和优化更加系统化。

AIGC应用创新大全的博客 1098

mfc图片控件显示图片_图片如何在Qt程序中显示

点击上方“Qt学视觉”,选择“星标”公众号重磅干货,第一时间送达共同学习共同进步1、显示图片在Qt中显示图片有好几种方法,在这里只说一种方法需要一个组件来显示图片,那就是QLabel,界面如下2、代码演示下面便是打开图片显示的代码//打开图片文件void OpenCVTestSf::OpenImageFile(){ QString fileName = QFil...

weixin_39829236的博客 141

实战:RK3568 Android14 点亮 LVDS 屏幕

4组数据 (D0~D3) + 1组时钟 (CLK)。最大支持 1280x800 @ 60Hz。8组数据 (Even03, Odd03) + 2组时钟。支持 1080P 及以上。/ {/* 背光与电源 *//** 关键配置:数据格式映射* 可选值: "jeida-18", "jeida-24", "vesa-24"* 6位屏选 xx-18, 8位屏选 xx-24* 颜色不对(偏色/底片效果)就换 VESA <-> JEIDA*/

qq_33427070的博客 1165

Apache Flink连载(一):Apache Flink是什么?

Apache Flink 是一个框架和分布式处理引擎,用于在。

qq_32020645的博客 1216

MFC与OpenCV实战:构建高性能桌面图像处理应用

在计算机视觉和图像处理领域,OpenCV作为功能强大的开源库,为算法实现提供了坚实基础。其核心数据结构cv::Mat高效管理图像数据,通过BGR/RGB转换、矩阵运算等原理,支撑从基础变换到高级识别的各类操作。在工程实践中,将OpenCV与GUI框架结合,能开发出交互式图像处理工具,极大提升算法验证与应用部署效率。特别是在对性能、部署环境和遗留代码集成有严格要求的工业场景,如视觉检测系统,采用MFC这类成熟的桌面框架与OpenCV结合,能充分发挥C++原生编译的高效优势,实现精准的内存控制与复杂的界面交互。

weixin_34293246的博客 329

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

mfc调取摄像头显示并截图_vs2015+opencv3.3+mfc读取摄像头显示在图片控件Picture Control...

【嵌牛导读】:opencv界面开发常用的有mfc、QT、c#等。本文就是使用opencv读取摄像头,使用opencv处理视频的第一步。转载自本人博客。【嵌牛正文】:要开始做一个行人检测的小项目,首先读取出摄像头显示,参考了这位博主的教程:http://blog.youkuaiyun.com/qq_32171677/article/details/61190719,可能是版本问题无法读出摄像头显示在Pictur...

weixin_42481708的博客 838

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

QT+opecv3.2图像显示

功能描述: 1、利用QLabel控件显示cv::Mat图像 2、结合QScrollarea,1:1显示图像,比控件尺寸大的图像,会有滚动条出现。

zhlgang的博客 1036

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

数字图像处理(6):设计数字图像处理GUI界面(C语言,未用opencv)

文章目录一、平台二、实现功能1、打开图片文件2、图像取反3、直方图均衡化4、幂次变换三、遇到问题反思:附代码: 设计一个集成各种图像处理算法的软件(前几次作业已经实现的算法、功能) 一、平台 使用平台:VS2015+MFC 语言:C语言 VS: Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台

ZhaoDongyu_AK47的博客 3066

Ubuntu下qt+opencv小试牛刀1:打开图片

1 ui 红色圈住的地方是objectname,是信号与槽要用到的,   2 完整代码: //mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include #include using namespace cv;

qq562487510的博客 872
上一篇: Modbus rtu CRC===PC上位机和PLC通信 Modbus rtu CRC计算(C++)
下一篇: MFC操作注册表的两种方法(方法二超简单 )
c1learning
博客等级 码龄14年 43粉丝 32原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值