OpenCV使用cv :: Mat创建新图像

露西7

我是opencv的新手,正在尝试一些示例代码。

在一个代码中, Mat gr(row1,col1,CV_8UC1,scalar(0)); int x = gr.at<uchar> (row,col);

在另一个

Mat grHistrogram(301,260,CV_8UC1,Scalar(0,0,0));
line(grHistrogram,pt1,pt2,Scalar(255,255,255),1,8,0);

现在我的问题是,如果我在第二个代码中使用标量(0)而不是标量(0,0,0),则该代码不起作用。1.为什么会发生这种情况,因为两者都创建了Mat图像结构。2. const cv:Scalar&_s的目的是什么?

我从Opencv网站(opencv.pdf,opencv2refman.pdf)和Oreilly的Opencv书中搜索Documentaion。但是找不到解释的答案。

我认为我正在使用Mat(int _rows,int _cols,int _type,const cv:Scalar&_s)结构。

麦克丘

首先,您需要以下信息来创建图像:

  1. 宽度:301像素
  2. 高度:260像素
  3. 每个像素值(强度)为0〜255:8位无符号整数
  4. 支持所有RGB颜色:3个通道
  5. 初始颜色:黑色=(B,G,R)=(0、0、0)

您可以使用创建图像cv::Mat

Mat grHistogram(260, 301, CV_8UC3, Scalar(0, 0, 0));

8U装置中的8ü符号整数,C3是指图3C为RGB颜色hannels,并且Scalar(0, 0, 0)是针对每个像素的初始值。相似地,

line(grHistrogram,pt1,pt2,Scalar(255,255,255),1,8,0);

是画一条线grHistogram从点pt1至点pt2线的颜色是白色(255、255、255),具有1个像素的厚度,8个连接的线和0位移。

有时您不需要RGB彩色图像,而需要简单的灰度图像。也就是说,使用一个通道而不是三个。可以将类型更改为,例如CV_8UC1,您仅需要指定一个通道的强度Scalar(0)

回到你的问题,

为什么会发生这种情况,因为两者都创建了Mat图像结构?

因为您需要指定的类型Mat它是彩色图像CV_8UC3还是灰度图像CV_8UC1他们是不同的。如果Scalar(255)CV_8UC3图像使用则程序可能无法正常运行

const cv:Scalar&_s的目的是什么?

cv::Scalar用于指定每个像素的强度值。例如,Scalar(255, 0, 0)是蓝色,Scalar(0, 0, 0)如果type是则为黑色CV_8UC3或者Scalar(0)是黑色的,如果它是一个CV_8UC1灰度图像。避免将它们混合在一起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OpenCV使用步长从数组生成cv :: Mat

来自分类Dev

OpenCV使用步长从数组生成cv :: Mat

来自分类Dev

openCV cv :: mat版本

来自分类Dev

使用cv :: Mat.submat opencv时出错

来自分类Dev

使用C ++在OpenCV中将Keypoints转换为cv :: Mat for TriangulatePoints

来自分类Dev

使用opencv cv2模块创建具有指定大小,深度,通道的黑色图像

来自分类Dev

从Python调用C ++ opencv函数(向使用opencv的C ++ dll发送cv :: Mat)

来自分类Dev

OpenCV Android使用最大轮廓的边缘创建新图像

来自分类Dev

使用OpenCV cv :: Mat.at函数时如何使用正确的类型名称

来自分类Dev

若要使用OpenCV / cv2比较并标记2张图像(带图片)之间的差异

来自分类Dev

在使用opencv(cv2)和python进行图像捕获和处理的程序中遇到错误

来自分类Dev

在OpenCV Java中使用Mat显示图像

来自分类Dev

如何从CVPixelBufferRef转换为openCV cv :: Mat

来自分类Dev

C ++ / OpenCV-如何重塑cv :: Mat?

来自分类Dev

OpenCV 2.4:在MFC中显示cv :: Mat

来自分类Dev

OpenCV 2.4:在MFC中显示cv :: Mat

来自分类Dev

将阵列移至Mat并使用打开的CV显示图像

来自分类Dev

我可以使用带有std :: vector <cv :: Mat>作为输入和输出参数的opencv函数,例如cv :: multiply吗?

来自分类Dev

使用 For 循环遍历图像 URL 数组创建新的 HTML 图像

来自分类Dev

C ++ / cv :: Mat等效于使用memcpy创建IplImage

来自分类Dev

OpenCV-将Mat图像类型从CV_8UC4转换为CV_16UC3

来自分类Dev

opencv二进制数据jpg图像到cv :: Mat

来自分类Dev

如何将openCV cv :: Mat保存到图像而无需更改

来自分类Dev

在CV :: Mat(OpenCV 4.1.2; C ++)中不会更新图像像素值

来自分类Dev

opencv二进制数据jpg图像到cv :: Mat

来自分类Dev

OpenCV 3.0-如何从CSV字符串创建cv :: Mat?

来自分类Dev

OpenCV:cv :: Mat无法从看似有效的数据中创建矩阵

来自分类Dev

在python(cv2)中使用OpenCV增加彩色图像对比度的最快方法是什么?

来自分类Dev

OpenCV cv::resize() 可以改变图像的最小值和最大值吗?(使用 INTER_LINEAR 方法)

Related 相关文章

  1. 1

    OpenCV使用步长从数组生成cv :: Mat

  2. 2

    OpenCV使用步长从数组生成cv :: Mat

  3. 3

    openCV cv :: mat版本

  4. 4

    使用cv :: Mat.submat opencv时出错

  5. 5

    使用C ++在OpenCV中将Keypoints转换为cv :: Mat for TriangulatePoints

  6. 6

    使用opencv cv2模块创建具有指定大小,深度,通道的黑色图像

  7. 7

    从Python调用C ++ opencv函数(向使用opencv的C ++ dll发送cv :: Mat)

  8. 8

    OpenCV Android使用最大轮廓的边缘创建新图像

  9. 9

    使用OpenCV cv :: Mat.at函数时如何使用正确的类型名称

  10. 10

    若要使用OpenCV / cv2比较并标记2张图像(带图片)之间的差异

  11. 11

    在使用opencv(cv2)和python进行图像捕获和处理的程序中遇到错误

  12. 12

    在OpenCV Java中使用Mat显示图像

  13. 13

    如何从CVPixelBufferRef转换为openCV cv :: Mat

  14. 14

    C ++ / OpenCV-如何重塑cv :: Mat?

  15. 15

    OpenCV 2.4:在MFC中显示cv :: Mat

  16. 16

    OpenCV 2.4:在MFC中显示cv :: Mat

  17. 17

    将阵列移至Mat并使用打开的CV显示图像

  18. 18

    我可以使用带有std :: vector <cv :: Mat>作为输入和输出参数的opencv函数,例如cv :: multiply吗?

  19. 19

    使用 For 循环遍历图像 URL 数组创建新的 HTML 图像

  20. 20

    C ++ / cv :: Mat等效于使用memcpy创建IplImage

  21. 21

    OpenCV-将Mat图像类型从CV_8UC4转换为CV_16UC3

  22. 22

    opencv二进制数据jpg图像到cv :: Mat

  23. 23

    如何将openCV cv :: Mat保存到图像而无需更改

  24. 24

    在CV :: Mat(OpenCV 4.1.2; C ++)中不会更新图像像素值

  25. 25

    opencv二进制数据jpg图像到cv :: Mat

  26. 26

    OpenCV 3.0-如何从CSV字符串创建cv :: Mat?

  27. 27

    OpenCV:cv :: Mat无法从看似有效的数据中创建矩阵

  28. 28

    在python(cv2)中使用OpenCV增加彩色图像对比度的最快方法是什么?

  29. 29

    OpenCV cv::resize() 可以改变图像的最小值和最大值吗?(使用 INTER_LINEAR 方法)

热门标签

归档