zoukankan      html  css  js  c++  java
  • opencv基本操作

    src.convertTo(dst, type, scale, shift)

    缩放并转换到另外一种数据类型:

    dst:目的矩阵

    type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型相同

    scale和shift:缩放参数,也可以写为alpha和beta

    这个命令也等价于下面的转换公式:

    m(x,y) = saturate_cast(α(*this)(x,y)+β)

    src.copyTo(dst)

    src矩阵中的数据拷贝到dst。

    为什么有些图像在显示前要除以255?

    imshow是用来显示图片的,如
    >> I = imread('moon.tif');
    >> figure.imshow(I);
    而有时为了数据处理,要把读取的图片信息转化为更高的精度,
    >> I = double(imread('moon.tif'));
    为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型。如果直接运行imshow(I),我们会发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围。而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。
    有两个解决方法:
    1> imshow(I/256); -----------将图像矩阵转化到0-1之间
    2> imshow(I,[]); -----------自动调整数据的范围以便于显示.
    从实验结果看两种方法都解决了问题,但是从显示的图像看,第二种方法显示的图像明暗黑白对比的强烈些!

    读入图片imread()

    Mat imread( const string& filename, int flags=1 );

    第一个参数 filename,const string&类型的filename,填我们需要载入的图片路径名。

    flags : 指定加载图像的颜色类型,默认载入三通道彩色图像.

    可以在OpenCV中标识图像格式的枚举体中取值。通过转到定义,我们可以在higui_c.h中发现这个枚举的定义是这样的:

    enum
    
    {
    
    /* 8bit, color or not */
    
       CV_LOAD_IMAGE_UNCHANGED  =-1,
    
    /* 8bit, gray */
    
       CV_LOAD_IMAGE_GRAYSCALE  =0,
    
    /* ?, color */
    
       CV_LOAD_IMAGE_COLOR      =1,
    
    /* any depth, ? */
    
       CV_LOAD_IMAGE_ANYDEPTH   =2,
    
    /* ?, any color */
    
       CV_LOAD_IMAGE_ANYCOLOR   =4
    
    };
    • 如果取int类型
      • flags>0,三通道彩色图
      • flags=0,灰度图
      • flags<0,包含Alpha通道的图像

    图像储存顺序:BGR

  • 相关阅读:
    百度之星资格赛1001——找规律——大搬家
    HDU1025——LIS——Constructing Roads In JGShining's Kingdom
    DP(递归打印路径) UVA 662 Fast Food
    递推DP UVA 607 Scheduling Lectures
    递推DP UVA 590 Always on the run
    递推DP UVA 473 Raucous Rockers
    博弈 HDOJ 4371 Alice and Bob
    DFS(深度) hihoCoder挑战赛14 B 赛车
    Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
    DP(DAG) UVA 437 The Tower of Babylon
  • 原文地址:https://www.cnblogs.com/Bella2017/p/9873657.html
Copyright © 2011-2022 走看看