直播系统源代码,快速实现改变图片尺寸
直播系统源代码,快速实现改变图片尺寸实现的相关代码
函数原型
1 | CV_EXPORTS_W void resize( InputArray src,<br> OutputArray dst,<br> Size dsize, <br> double fx=0, <br> double fy=0, <br> int interpolation=INTER_LINEAR ); |
参数
1 | src:输入原图像,即待被改变大小的图像;<br>dst:输出改变大小之后的图像;<br>dsize:设置输出图像的大小。如果这个参数不为0,那么就代表将原图像缩放到这个Size(width,height)指定的大小;如果这个参数为0,那么原图像缩放之后的大小就要通过下面的公式来计算:<br>dsize = Size( round (fx*src.cols), round (fy*src.rows))<br>其中,fx和fy就是下面要说的两个参数,是图像width方向和height方向的缩放比例。<br>fx:width方向的缩放比例,如果它是0,那么它就会按照(double)dsize.width/src.cols来计算;<br>fy:height方向的缩放比例,如果它是0,那么它就会按照(double)dsize.height/src.rows来计算;<br>interpolation:这个是指定插值的方式,图像缩放之后,肯定像素要进行重新计算的,就靠这个参数来指定重新计算像素的方式,有以下几种:<br>INTER_NEAREST - 最邻近插值<br>INTER_LINEAR - 双线性插值,如果最后一个参数你不指定,默认使用这种方法<br>INTER_AREA - 利用像素面积关系重采样。这可能是一种理想的图像抽取方法,因为它提供无莫尔的结果。但当图像缩放时,它与INTER_NEAREST方法相似。<br>INTER_CUBIC - 4x4像素邻域内的双立方插值<br>INTER_LANCZOS4 - 8x8像素邻域内的Lanczos插值 |
注意
dsize和fx/fy不能同时为0
插值方法,一般默认INTER_LINEAR 。
1 | demo<br>cv::Mat src = cv::imread( "E:\\Windowstest\\ConsoleApplication4\\ycy.jpg" , 1);<br>cv::Mat dst;<br>cv::resize(src, dst, cv::Size(300,300), 0, 0, 0);<br>cv:namedWindow( "result" , 1);<br>cv::imshow( "result" , src);<br>cv::namedWindow( "dst" , 1);<br>cv::imshow( "dst" , dst); |
以上就是直播系统源代码,快速实现改变图片尺寸实现的相关代码, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现