imread()用法|| root权限

1.ushort用法?

USHORT is a macro which is not part of the official C++ language (it's probably defined or typedef'ed somewhere). unsigned short is an official type defined by the C++ language as an integer that can at least hold numbers between 0 and 65535.

Use unsigned short and your code will be portable - don't use USHORT unless you company's coding standard requires it

USHORT是一个宏,它不是官方C ++语言的一部分(它可能是在某处定义或定义的)。unsigned short是一种由C ++语言定义的正式类型,它是一个整数,它至少可以包含0到65535之间的数字。



使用无符号的short,你的代码将是可移植的 - 除非你公司的编码标准要求,否则不要使用USHORT

2. imread()

imread

Loads an image from a file.

**C++:**Mat `imread`(const string& **filename**, int **flags**=1)
**Python:**`cv2.``imread`(filename[, flags]) → retval
**C:**IplImage* `cvLoadImage`(const char* **filename**, int **iscolor**=CV_LOAD_IMAGE_COLOR)
**C:**CvMat* `cvLoadImageM`(const char* **filename**, int **iscolor**=CV_LOAD_IMAGE_COLOR)
**Python:**`cv.``LoadImage`(filename, iscolor=CV_LOAD_IMAGE_COLOR) → None
**Python:**`cv.``LoadImageM`(filename, iscolor=CV_LOAD_IMAGE_COLOR) → None
Parameters: * **filename** – Name of file to be loaded.
* **flags** –

Flags specifying the color type of a loaded image:

* CV_LOAD_IMAGE_ANYDEPTH - If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit.
* CV_LOAD_IMAGE_COLOR - If set, always convert image to the color one
* CV_LOAD_IMAGE_GRAYSCALE - If set, always convert image to the grayscale one
*

**>0** Return a 3-channel color image.
Note

In the current implementation the alpha channel, if any, is stripped from the output image. Use negative value if you need the alpha channel.

* **=0** Return a grayscale image.
* **<0** Return the loaded image as is (with alpha channel). 指定加载图像的颜色类型的标志:

CV_LOAD_IMAGE_ANYDEPTH - 如果设置,则当输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位。

CV_LOAD_IMAGE_COLOR - 如果设置,则始终将图像转换为颜色

CV_LOAD_IMAGE_GRAYSCALE - 如果设置,则始终将图像转换为灰度图像



> 0返回一个3通道彩色图像。



注意



在当前实现中,alpha通道(如果有的话)从输出图像中剥离。如果您需要Alpha通道,请使用负值。



= 0返回灰度图像。

<0按原样返回加载的图像(带有Alpha通道)

The function <span class="pre"><span class="highlighted">imread</span></span> loads an image from the specified file and returns it. If the image cannot be read (because of missing file, improper permissions, unsupported or invalid format), the function returns an empty matrix ( <span class="pre">Mat::data==NULL</span> ). Currently, the following file formats are supported:

  • Windows bitmaps - <span class="pre">*.bmp,<span class="pre">*.dib</span></span> (always supported)
  • JPEG files - <span class="pre">*.jpeg,<span class="pre">*.jpg,<span class="pre">*.jpe</span></span></span> (see the Notes section)
  • JPEG 2000 files - <span class="pre">*.jp2</span> (see the Notes section)
  • Portable Network Graphics - <span class="pre">*.png</span> (see the Notes section)
  • Portable image format - <span class="pre">*.pbm,<span class="pre">*.pgm,<span class="pre">*.ppm</span></span></span> (always supported)
  • Sun rasters - <span class="pre">*.sr,<span class="pre">*.ras</span></span> (always supported)
  • TIFF files - <span class="pre">*.tiff,<span class="pre">*.tif</span></span> (see the Notes section)

Note

  • The function determines the type of an image by the content, not by the file extension.
  • On Microsoft Windows OS and MacOSX, the codecs shipped with an OpenCV image (libjpeg, libpng, libtiff, and libjasper) are used by default. So, OpenCV can always read JPEGs, PNGs, and TIFFs. On MacOSX, there is also an option to use native MacOSX image readers. But beware that currently these native image loaders give images with different pixel values because of the color management embedded into MacOSX.
  • On Linux, BSD flavors and other Unix-like open-source operating systems, OpenCV looks for codecs supplied with an OS image. Install the relevant packages (do not forget the development files, for example, “libjpeg-dev”, in Debian and Ubuntu*) to get the codec support or turn on the <span class="pre">OPENCV_BUILD_3RDPARTY_LIBS</span> flag in CMake.
  • 该功能根据内容而不是文件扩展名来确定图像的类型。

    在Microsoft Windows * OS和MacOSX 上,缺省情况下使用OpenCV映像(libjpeg,libpng,libtiff和libjasper)附带的编解码器。所以,OpenCV总是可以读取JPEG,PNG和TIFF。在MacOSX上,还可以选择使用本机MacOSX图像阅读器。但要注意,由于嵌入到MacOSX中的颜色管理,当前这些原生图像加载器会为图像提供不同的像素值。

    在Linux
    ,BSD风格和其他类Unix开源操作系统上,OpenCV查找随操作系统映像提供的编解码器。<span title="Install the relevant packages (do not forget the development files, for example, “libjpeg-dev”, in Debian and Ubuntu) to get the codec support or turn on the OPENCV_BUILD_3RDPARTY_LIBS flag in CMake.

">安装相关软件包(不要忘记Debian 和Ubuntu 中的开发文件,例如“libjpeg-dev”)以获得编解码器支持或打开CMake中的OPENCV_BUILD_3RDPARTY_LIBS标志。

Note

In the case of color images, the decoded images will have the channels stored in <span class="pre">B<span class="pre">G<span class="pre">R</span></span></span> order.

<span title="Note

">

在彩色图像的情况下,解码图像将以B G R顺序存储信道。

<span title="Note

">3.最后执行main二进制文件时,提示权限不够。

louis@louis-lib:~/slam$ cd bin
louis@louis-lib:~/slam/bin$ ./main                  //执行main用“./main”格式
bash: ./main: 权限不够
louis@louis-lib:~/slam/bin$

原文链接: https://www.cnblogs.com/zb-ml/p/8857009.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/272541

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午10:49
下一篇 2023年2月14日 下午10:49

相关推荐