OpenCV图像操作与cv::Mat数据结构详解
1. 图像创建与读取
在OpenCV中,可以创建每像素由3个字节组成的图像,并将其指定为 CV_8UC3 类型。若输入图像保存为灰度图像,那么三个通道将包含相同的值。若想以保存的格式读取图像,只需在 imread 函数中传入一个负值作为第二个参数。可以使用 channels 方法检查图像的通道数,示例代码如下:
std::cout << "This image has "
<< image.channels() << " channel(s)";
在使用 imread 打开图像时,如果未指定完整路径,将使用默认目录。从控制台运行应用程序时,默认目录是当前控制台的目录;若直接从IDE运行应用程序,默认目录通常是包含项目文件的目录。因此,要确保输入图像文件位于正确的目录中。
2. 图像显示
使用 imshow 显示由整数组成的图像(如 CV_16U 表示16位无符号整数, CV_32S 表示32位有符号整数)时,图像的像素值会先除以256,以便用256种灰度显示。对于由浮点数组成的图像,假设可能的值范围在0.0(显示为黑色)到1.0(显示为白色)之间,超出此范围的值,大于1.0的显示为白色,小于0.0的显示为黑色。
超级会员免费看
订阅专栏 解锁全文
762

被折叠的 条评论
为什么被折叠?



