opencv可视化图片-----c++

可视化图片

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <filesystem>

// 将数据类型转换为字符串
std::string opencvTool::type2str(int type) 
{
	std::string r;
	uchar depth = type & CV_MAT_DEPTH_MASK;
	uchar chans = 1 + (type >> CV_CN_SHIFT);

	switch (depth) 
	{
	case CV_8U:  r = "8U"; break;
	case CV_8S:  r = "8S"; break;
	case CV_16U: r = "16U"; break;
	case CV_16S: r = "16S"; break;
	case CV_32S: r = "32S"; break;
	case CV_32F: r = "32F"; break;
	case CV_64F: r = "64F"; break;
	default:     r = "User"; break;
	}
	r += "C";
	r += (chans + '0'); //3 个颜色通道(C3)
	return r;
}

bool opencvTool::showImage(std::string image_p)
{
	cv::Mat image = cv::imread(image_p.c_str());
	if (image.empty())
	{
		std::cout << "Error: empyt mat " << std::endl;
		return false;
	}

	// 打印图像信息
	std::cout << "Image size: " << image.cols << " x " << image.rows << std::endl;
	std::cout << "Number of channels: " << image.channels() << std::endl;  // 通道数
	std::cout << "Data type: " << type2str(image.type()) << std::endl; // 自定义函数,用于将数据类型转换为字符串

	cv::imshow("test", image);
	cv::waitKey(0);  //持续显示窗口
	cv::destroyAllWindows();  //用于关闭所有由 OpenCV 创建的窗口
	return true;
}

bool opencvTool::showImage(cv::Mat image)
{
	if (image.empty())
	{
		std::cout << "Error: empty mat " << std::endl;
		return false;
	}

	// 打印图像信息
	std::cout << "Image size: " << image.cols << "x" << image.rows << std::endl;
	std::cout << "Number of channels: " << image.channels() << std::endl;  // 通道数
	std::cout << "Data type: " << type2str(image.type()) << std::endl; // 自定义函数,用于将数据类型转换为字符串

	// 显示图像
	cv::imshow("test", image);
	cv::waitKey(0);  // 持续显示窗口
	cv::destroyAllWindows();  // 用于关闭所有由 OpenCV 创建的窗口
	return true;
}
相关推荐
qeen8710 分钟前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
图码20 分钟前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
handler0129 分钟前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy11334 分钟前
Linux进程与线程编程详解
linux·c++
A7bert7772 小时前
【YOLOv8pose部署至RDK X5】模型训练→转换bin→Sunrise 5部署
c++·python·深度学习·yolo·目标检测
li1670902702 小时前
第二十七章:智能指针
c语言·数据结构·c++·visual studio
王老师青少年编程3 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【贪心与二分判定】:数列分段 Section II
c++·算法·贪心·csp·信奥赛·二分判定·数列分段 section ii
zh_xuan3 小时前
libcurl调用https接口
c++·libcurl
就叫飞六吧3 小时前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
蜡笔小马3 小时前
1.c++设计模式-工厂模式
c++