Opencv读取各种类型的图像的方法总结

In OpenCV you can easily read in images with different file formats (JPG, PNG, TIFF etc.) using imread. The basic usage is shown below

C++

 

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

Python

 

image = cv2.imread(filename, flags=cv2.IMREAD_COLOR)

The flags option is used to control how the image is read. Let’s look at some common examples. In all the examples below, make sure you use the right namespace for C++ and import OpenCV for Python.
C++

 

using namespace cv;

Python

 

import cv2

Read as 8-bit / channel Color Image ( without Alpha Channel)

A vast majority of images are 8-bit per channel ( or 24-bit ) images. They can be read using default flags.

C++

 

Mat image = imread("image.jpg");

Python

 

image = cv2.imread("image.jpg")

Read as 8-bit Grayscale Image

C++

 

Mat image = imread("image.jpg", IMREAD_GRAYSCALE);

Python

 

image = cv2.imread("image.jpg", cv2.IMREAD_GRAYSCALE)

Read 16-bit / channel Color Image

Most digital SLR cameras are capable of recording images at a higher bit depth than 8-bits / channel. The raw images from these cameras can be converted to 16-bit / channel PNG or TIFF images. These 16-bit / channel images can be read using
C++

 

Mat image = imread("image.png", IMREAD_ANYCOLOR | IMREAD_ANYDEPTH);

Python

 

im = cv2.imread("image.png", cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH)

You may also use the flag IMREAD_UNCHANGED instead. See an example below.

Read a Transparent PNG or TIFF in OpenCV

A transparent image has four channels — 3 for color, and one for transparency. These images can be read in OpenCV using the IMREAD_UNCHANGED flag.
C++

 

Mat image = imread("image.png", IMREAD_UNCHANGED);

Python

 

im = cv2.imread("image.png", cv2.IMREAD_UNCHANGED)

NOTE : CV_LOAD_IMAGE_COLOR, CV_LOAD_IMAGE_GRAYSCALE, CV_LOAD_IMAGE_ANYCOLOR, CV_LOAD_IMAGE_ANYDEPTH, and CV_LOAD_IMAGE_UNCHANGED will be removed in future versions of OpenCV.

Download Python / C++ code and example image

You can download a 16-bit transparent PNG and example code from by subscribing to our newsletter. You will also receive a free Computer Vision Resource guide. In our newsletter we share OpenCV tutorials and examples written in C++/Python, and Computer Vision and Machine Learning algorithms and news.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值