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

淘宝领券网站怎么做上海工程咨询行业协会

淘宝领券网站怎么做,上海工程咨询行业协会,0基础怎么学服装设计,优质的天津网站建设下面进行 OpenCV 读取照片和可视化(显示) 的详解与完整 C 示例代码,适用于 Windows 或 Linux 平台的 OpenCV 4.x 版本。 一、核心函数简析 函数功能cv::imread()从文件读取图像cv::imshow()在窗口中显示图像cv::waitKey()等待键盘输入&#…

下面进行 OpenCV 读取照片和可视化(显示)详解与完整 C++ 示例代码,适用于 Windows 或 Linux 平台的 OpenCV 4.x 版本。


一、核心函数简析

函数功能
cv::imread()从文件读取图像
cv::imshow()在窗口中显示图像
cv::waitKey()等待键盘输入(防止窗口闪退)
cv::imwrite()保存图像到文件
cv::resize()图像缩放(可选)
cv::cvtColor()图像颜色空间转换(如 BGR→灰度)

二、完整 C++ 示例代码

#include <opencv2/opencv.hpp>
#include <iostream>int main() {// 1. 图像文件路径(支持相对或绝对路径)std::string imagePath = "example.jpg";  // 确保文件存在于工作目录// 2. 使用 imread 读取图像(默认 BGR 读入)cv::Mat image = cv::imread(imagePath, cv::IMREAD_COLOR);  // 或 cv::IMREAD_GRAYSCALE// 3. 检查图像是否成功加载if (image.empty()) {std::cerr << "无法加载图像: " << imagePath << std::endl;return -1;}// 4. 可选:调整图像大小cv::Mat resizedImage;cv::resize(image, resizedImage, cv::Size(640, 480));  // 改变为 640x480// 5. 显示图像cv::imshow("原图", image);cv::imshow("缩放图", resizedImage);// 6. 等待用户按任意键关闭窗口std::cout << "按任意键关闭图像窗口..." << std::endl;cv::waitKey(0);  // 0 表示无限等待return 0;
}

三、常用参数说明(imreadimshow

cv::imread(path, flag) 常见 flag 值:

标志含义
IMREAD_COLOR (默认)读入彩色图,忽略 alpha 通道
IMREAD_GRAYSCALE灰度图
IMREAD_UNCHANGED保留 alpha 通道

cv::waitKey(ms)

  • 等待 ms 毫秒内的键盘输入,如果 ms = 0,表示无限等待。

  • 可以捕获键值,例如:

    int key = cv::waitKey(0);
    if (key == 27) { // 27 是 ESCstd::cout << "按下了 ESC,退出程序" << std::endl;
    }
    

四、图像保存示例

cv::imwrite("resized_output.jpg", resizedImage);

五、常见问题排查

问题原因解决方案
image.empty() 为真图像路径错误、文件不存在或格式不支持检查路径和扩展名,建议用绝对路径测试
imshow 窗口一闪而过没有 cv::waitKey()加上 cv::waitKey(0)
中文路径无法读取OpenCV 不支持中文路径(Windows)将文件放入英文路径下
颜色异常OpenCV 默认是 BGR 而非 RGB转换:cv::cvtColor(img, img_rgb, cv::COLOR_BGR2RGB);

六、拓展建议

  • 加载多图显示:

    std::vector<std::string> imgs = {"1.jpg", "2.jpg"};
    for (const auto& path : imgs) {cv::Mat img = cv::imread(path);cv::imshow(path, img);
    }
    cv::waitKey(0);
    
  • 显示灰度图:

    cv::Mat gray;
    cv::cvtColor(image, gray, cv::COLOR_BGR2GRAY);
    cv::imshow("灰度图", gray);
    

http://www.dtcms.com/a/478461.html

相关文章:

  • 泰国网站域名wordpress建网站的优点
  • 解锁 JavaScript 字符串补全魔法:padStart()与 padEnd()
  • Spring Boot 3零基础教程,IOC容器中组件的注册,笔记08
  • TDengine 数学函数 DEGRESS 用户手册
  • 源码:Oracle AWR报告之Top 10 Foreground Events by Total Wait Time
  • 告别繁琐坐标,让公式“说人话”:Excel结构化引用完全指南
  • 【AI论文】CoDA:面向协作数据可视化的智能体系统
  • 从AAAI2025中挑选出对目标检测有帮助的文献——第六期
  • 【深度学习】反向传播
  • 网站开发交接新闻源发稿平台
  • 滴答时钟延时
  • 【C++篇】:ServiceBus RPC 分布式服务总线框架项目
  • 后训练——Post-training技术介绍
  • 获取KeyStore的sha256
  • Linux (5)| 入门进阶:Linux 权限管理的基础规则与实践
  • 常见压缩包格式详解:区别及在不同系统中的解压方式
  • 【数学 进制 数位DP】P9362 [ICPC 2022 Xi‘an R] Find Maximum|普及+
  • .net过滤器和缓存
  • 张家港网站建设培训班电力建设专家答疑在哪个网站
  • 零基础学AI大模型之大模型的“幻觉”
  • 网站快速优化排名排名c语言入门自学零基础
  • MySQL排序规则utf8mb4_0900_ai_ci解析
  • 做网站别名解析的目的是什么同城广告发布平台
  • GPT4Free每日更新的免登录工作AI提供商和模型列表
  • 网站群建设座谈会云浮新增病例详情
  • Proxmox 9 一键更新虚拟机mac
  • C# WPF DataGrid使用Observable<Observable<object>类型作为数据源
  • sem网站建设网站是由多个网页组成的吗
  • redis中的数据类型和适用场景
  • 从字节到网页:HTTP 与 TCP 的底层密码全解析