首页 > 编程知识 正文

opencv官方文档,opencv Python

时间:2023-05-03 22:37:31 阅读:9819 作者:4312

文章目录读取图像数据参数说明支持格式图像数据参数说明用例

在某些情况下,需要在处理图像数据后保存结果。 对于OpenCV,需要保存的主要是两种类型的数据。 一个是图像,另一个是视频。 本章首先讨论如何读取区域和存储图像数据。

导入图像数据的功能可以使用以下函数。

matcv :3360 im read (conststringfilename,int flags=IMREAD_COLOR )参数可以是文件名称、导入的文件名或文件的绝对、相对flags,读取文件时如何读取,默认为彩色。 有关可用的FLAGs选项的信息,请参见下表请注意:不同版本的OpenCV。 虽然与参数选项略有不同,但是如果IDE支持代码完成,则可以在关键字中找到相应的flag。 如果不支持此功能,则需要在官方网站上查看相应版本的说明信息。 上述内容目前为3333338

支持格式OpenCV提供了许多开源或免费使用的解码库,因此可以支持以下格式的数据读取:

Windows bitmaps - *.bmp、*.DIB (always支持) JPEG files - *.jpeg、*.jpg, *.jpe (安全防护) JPEG 2000文件- *.jp2 )安全防护(便携式网络图形- * . png ) seethenotesection.webp (seethenotesection )可移植图像格式*.pgm、*.pgm、*.ppm *.pxm, *.always支持(pnm ) PFM文件- *.PFM ) seethenotesection (sun rasters-*.Sr ), *.ras ) always支持) tiff filler *.TIF (seethenotesection ) openexrimagefiles-*.exr (seeethenotesection ) radiance *.pic (支持的) rasterandvectorgeospatialdatasupportedbygdal (seethenotesection )存储图像数据,处理一个图像,然后使用以下函数获得结果

bool cv :3360 im write (conststringfilename,InputArray img,const STD 33603360 vectorint params=STD 33603360 vector int () ) img、Mat矩阵数据、处理后的图像数据。 Mat以图像格式保存时,请确认其基础数据格式为uint8。 通常,经过一些列计算后,数据将提升为浮点型float32。 如果就这样保存,会失去错误和精度。 params、图像存储辅助参数,不常用,可用于指定图像大小、存储格式、采样率等信息。 具体的params信息可以看到下表

如果需要使用参数,参数的使用方法如下:

std:vectorint params; //setjpegqualityto 100 params.push _ back (im write _ JPEG _ quality ); Params.push_back(100; //setlumaqualityto 10 params.push _ back (im write _ JPEG _ luma _ quality ); Params.push_back(10; //saveimageimwrite(foobar.jpg ),mat_image,params ); 用例# include opencv2/img codecs.hppusingnamespacecv; 用户命名空间STD; staticvoidpaintalphamat(matmat ) cv _ assert (mat.channels )==4); for(intI=0; i mat.rows; I ) for(intj=0; j mat.cols; j ) VEC4bbgra=mat.atvec4b(I,j ); bgra[0]=UCHAR_MAX; //bluebgra [1]=saturate _ cast uchar ((float ) mat.cols ) ) (float ) mat.cols ) * UCHAR_MAX ); //green BG ra [2]=saturate _ cast uchar ((float ) mat.rows ) ) (float ) mat.rows ) * UCHAR_MAX ); //redb gra [3]=saturate _ cast uchar (0.5 * ) bgra[1]bgra[2] ); //alpha } } int main () matmat ) 480,640,CV_8UC4); //createamatrixwithalphachannelpaintalphamat (mat; vectorint compression_params; compression _ params.push _ back (im write _ png _ compression ); compression_Params.push_back(9; 布尔结果=假; try{result=imwrite(alpha.png ),mat,compression_params ); } catch (const cv :3360 exception ex ) fprintf(stderr,' exceptionconvertingimagetopngformat 3360 % sn ',ex.what ) ELSEprintf(error:can ) tsavepngfile.n ); vectorMat imgs; imgs.push_back(mat; IMGS.push_back(~mat ); imgs.push _ back (mat (rect (0,0,mat.cols/2,mat.rows/2 ) ) imwrite(test.tiff )、imgs; printf (多文件文件ssavedintest.tiff (n ) ); 返回结果? 0 : 1; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。