做图像的resize时需要创建一个图像,首先想到的是用cvCreateImage,函数原型为:

CV_IMPL IplImage *
cvCreateImage( CvSize size, int depth, int channels );

于是,先读入原图:Mat image=imread(...);

然后创建和原图一样的结果图:

Mat result=cvCreateImage(image.size(),image.depth(),image.channels());

编译时OK,运行时出问题了:

OpenCV Error: Input image depth is not supported by function (Unsupported format
) in cvInitImageHeader, file ..\..\..\..\opencv\modules\core\src\array.cpp, line
 2925

根据提示跟踪下源码看到这句:

if( (depth != (int)IPL_DEPTH_1U && depth != (int)IPL_DEPTH_8U &&
         depth != (int)IPL_DEPTH_8S && depth != (int)IPL_DEPTH_16U &&
         depth != (int)IPL_DEPTH_16S && depth != (int)IPL_DEPTH_32S &&
         depth != (int)IPL_DEPTH_32F && depth != (int)IPL_DEPTH_64F) ||
         channels < 0 )
        CV_Error( CV_BadDepth, "Unsupported format" );

原来是这个函数的depth参数只支持单通道的(我是这样理解的,不知道有没有问题),而image是3通道,不能用这个函数,于是查到了下面这个函数:

inline void Mat::create(Size _sz, int _type)
{
    create(_sz.height, _sz.width, _type);
}

是Mat类的成员函数,于是用下面的方法:

Mat result;

result.create(image.size(),image.type());

编译、运行成功,所以这个函数可以创建3通道图像。

By the way  ,记录下resize函数的原型

//! resizes the image
CV_EXPORTS_W void resize( InputArray src, OutputArray dst,
                          Size dsize, double fx=0, double fy=0,
                          int interpolation=INTER_LINEAR );

opencv创建3通道图像相关推荐

  1. opencv 把3通道图像转成单通道_小强学Python+OpenCV之-1.4.3图像(矩阵)加减运算

    引入 问题引入,考虑以下几个问题: Q1. 一个3通道像素p的BGR分量(8bit表示)值均相同,那么这个像素是什么颜色的? Q2. 该像素p加上自己,即,像素p的各个通道值翻倍,那么这个像素的颜色会 ...

  2. opencv读取四通道图像

    用opencv读取图像,默认情况下是读取BGR三通道,alpha通道是被舍弃的,这在处理一些透明图的时候会出错. img = cv2.imread(image_path,-1) img = cv2.i ...

  3. opencv创建图像,图像像素值处理、生成单通道图像和生成tif图像方法的整理

    就是做个小笔记,后面要查方便 1.创建设定尺寸图象 import numpy as np """h,w,c分别代表图像的高.宽和通道数""" ...

  4. youcans 的 OpenCV 学习课—3.图像的创建与修改

    youcans 的 OpenCV 学习课-3.图像的创建与修改 本系列面向 Python 小白,从零开始实战解说 OpenCV 项目实战. OpenCV 中图像的数据结构是 ndarray 多维数组, ...

  5. OpenCV 创建黑白图像和RGB图像

    OpenCV 创建图像 # -*- coding: utf-8 -*- # @Time : 2021/7/20 # @Author : ZYh """ Introduct ...

  6. OpenCV中的立体图像创建深度图

    OpenCV中的立体图像创建深度图 1. 效果图 2. 源码 参考 这篇博客将介绍如何从立体图像创建深度图. 1. 效果图 原图 VS 视差图效果如下: 可以看到结果受到高度噪音的污染.通过调整 nu ...

  7. opencv 创建图像_非艺术家的图像创建(OpenCV项目演练)

    opencv 创建图像 This project stemmed from my predilection of the visual arts - as a computing student, I ...

  8. c++ opencv编程实现暗通道图像去雾算法_OpenCV图像处理专栏十三 | 利用多尺度融合提升图像细节...

    前言 今天为大家介绍一个利用多尺度来提升图像细节的算法.这个算法来自于论文<DARK IMAGE ENHANCEMENT BASED ON PAIRWISE TARGET CONTRAST AN ...

  9. opencv转单通道python_在OpenCv(Python)中查找单通道图像的目录

    The image is actually a numpy array with the shape (128, 128) and elements with real values between ...

最新文章

  1. WSL windows子系统开启ssh-server服务
  2. 一篇虚拟试穿的论文介绍
  3. javascript:document的属性和方法,title,innerHTML,
  4. 策略设计模式_设计模式之策略者模式
  5. kafka java_Java操作Kafka
  6. ElasticSearch、kibana、head、ik分词器在Windows下的安装
  7. Flume-ng HDFS sink原理解析
  8. mysql 转ascii_MySQL ascll()函数
  9. 加速你的开发环境[VS2003]
  10. 阿里终面:优秀的代码都是如何分层的?
  11. Oracle and MS SQL Server 2005
  12. 字节码指令之操作数栈管理指令
  13. word如何删除某一页的页眉
  14. supervise进程管理利器
  15. 第十一章:如何拆分项目目标?
  16. 恒达高停车场信息管理系统的分析与设计
  17. 云和恩墨mysql_云和恩墨携手华为云鲲鹏云服务探索政企数据库升级的“新引擎”...
  18. Android N App分屏模式完全解析(上)
  19. python深入之装饰器--通过选择发说说和发图片的案例理解装饰器
  20. 围圈报数c语言编程,C语言编程:有n个人围成一圈,顺序排号。从第一个人开始报数......

热门文章

  1. 3D游戏引擎入门课程——角色动画
  2. 基于ODU恢复truncate表的总结操作
  3. 深度学习领域目前仍有哪些值得追踪的前沿研究?
  4. 你可千万别小瞧了自媒体这个行业,没有文化,适合自媒体创业吗?
  5. (附源码)ssm巢湖学院校园报修系统 毕业设计 021813
  6. 当小数遇上二进制——全面解析JS中的小数二进制计算(附赠0.1+0.2 !== 0.3问题解释)
  7. 全球与中国轨道交通制动闸片市场深度研究分析报告
  8. Latex转Word——Pandoc,Windows 版本
  9. GoogleCTF 2021 CPP write up
  10. 搞个小项目吧,做一个ppt播放器