基于OpenCV给图片添加边框
目标:
基于OpenCV的函数cv::copyMakeBorder给图像添加边框
函数简介:
参数:
- src: 原图像
- dst: 目标图像
- top, bottom, left, right: 每一个边界方向上像素的宽度.在这里使用图像原始大小的 5% .
- borderType:边框的类型 。当前例子中位纯色或者边界的复制.
- value: 如果borderType 设置位 BORDER_CONSTANT, 这个将作为边框的颜色.
边框的类型
1)纯色边框
BORDER_CONSTANT,边框设置位某种单一的颜色,比如黑色
2)图像边界扩展
BORDER_REPLICATE,复制原图的边界进行扩展
代码
/*** @file copyMakeBorder_demo.cpp* @brief Sample code that shows the functionality of copyMakeBorder* @author OpenCV team*/#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"using namespace cv;//![variables]
Mat src, dst;
int top, bottom, left, right;
int borderType;
const char* window_name = "copyMakeBorder Demo";
RNG rng(12345);
//![variables]/*** @function main*/
int main( int, char** argv )
{int c;//![load]src = imread( argv[1], IMREAD_COLOR ); // Load an imageif( src.empty() ){printf(" No data entered, please enter the path to an image file \n");return -1;}//![load]/// Brief how-to for this programprintf( "\n \t copyMakeBorder Demo: \n" );printf( "\t -------------------- \n" );printf( " ** Press 'c' to set the border to a random constant value \n");printf( " ** Press 'r' to set the border to be replicated \n");printf( " ** Press 'ESC' to exit the program \n");//![create_window]namedWindow( window_name, WINDOW_AUTOSIZE );//![create_window]//![init_arguments]/// Initialize arguments for the filtertop = (int) (0.05*src.rows); bottom = (int) (0.05*src.rows);left = (int) (0.05*src.cols); right = (int) (0.05*src.cols);//![init_arguments]dst = src;imshow( window_name, dst );for(;;){//![check_keypress]c = waitKey(500);if( (char)c == 27 ){ break; }else if( (char)c == 'c' ){ borderType = BORDER_CONSTANT; }else if( (char)c == 'r' ){ borderType = BORDER_REPLICATE; }//![check_keypress]//![update_value]Scalar value( rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255) );//![update_value]//![copymakeborder]copyMakeBorder( src, dst, top, bottom, left, right, borderType, value );//![copymakeborder]//![display]imshow( window_name, dst );//![display]}return 0;
}
效果
基于OpenCV给图片添加边框相关推荐
- 基于opencv的图片模板匹配及其简单应用
opencv的图片模板匹配及其简单应用 我的个人博客 基础知识 基于opencv的图片模板匹配 注: python及其相关包的安装不在讨论范围内 opencv提供了图片模板匹配的方法, cv2.mat ...
- speedoffice(PPT)怎么给图片添加边框
PPT怎么给图片添加边框呢?看看小编是怎么操作的吧 首先,用speedoffice打开PPT文件,光标选中需要添加边框的图片,如图: 然后,在右侧工具栏选择"形状设置",并在设置里 ...
- photoshop图片添加边框
经常要给图片添加边框,这里记录一下. 复制图层 打开photoshop窗口,拖进一张jpg图片: 菜单[编辑->描边] 文件[存储->jpg] 即可.
- python利用opencv去除图片logo_python 基于opencv去除图片阴影
一.前言 如果你自己打印过东西,应该有过这种经历.如果用自己拍的图片,在手机上看感觉还是清晰可见,但是一打印出来就是漆黑一片.比如下面这两张图片: 因为左边的图片有大片阴影,所以打印出来的图片不堪入目 ...
- 图片添加边框工具:AKVIS ArtSuite for Mac
你也想为你的图片添加各种精美的边框吗?akvis artsuite mac破解版是一款用于装饰照片的工具,可以非常方便的为照片或者图片添加上精美的相框或者边框!程序可独立运行,也可以作为Photosh ...
- 图片添加边框和文字怎么弄?图片编辑在线教学
大家平时在拍完照片后,会对它进行一些编辑处理吗?像我每次拍完照,都会对图片进行一些后期处理,有时也会给图片添加一些边框或者文字,美化图片并增加图片信息量.那你们平时都是怎么给图片加上边框和文字的呢 ...
- 给图片加边框源代码c语言,OpenCV实现给图片添加边框功能
目标: 基于OpenCV的函数cv::copyMakeBorder给图像添加边框 函数简介: copyMakeBorder( src, dst, top, bottom, left, right, b ...
- OpenCV2学习笔记(十四):基于OpenCV卡通图片处理
得知OpenCV有一段时间.除了研究的各种算法的内容.除了从备用,据导游书籍和资料,尝试结合链接的图像处理算法和日常生活,第一桌面上(随着摄像头)完成了一系列的视频流处理功能.开发平台Qt5.3.2+ ...
- android图像处理系列之五-- 给图片添加边框(中)
前面一篇讲到给图片加边框的方式,只能给图片加一些有规则的边框,如果想加一些比较精美的效果,就有点麻烦了.下面就给出解决这个问题的思路. 思路是:一些比较精美的花边图片我们是很难用代码控制,就目前本人水 ...
最新文章
- 网络模型--Squeeze-and-Excitation Networks
- 解决读写Excel的第三方类库as3xls无法读取中文和写入中文的问题
- Opengl-帧缓冲(一个新的缓冲对象,想一下深度和模板缓冲)
- 解决placeholder兼容性问题
- 成功解决pyinstaller生成exe缺少各种包的问题
- spring源码分析,聊聊PropertyPlaceholderConfigurer
- mysql 数据迁移_MySQL海量数据迁移
- 首次push本地代码到github上出现的问题及解决方案
- 架构设计常见的几类问题
- Springboot集成Activiti7
- 软件工程—实践者的研究方法
- 搞不动了,持安零信任真的安全
- BZOJ 2794 [Poi2012]Cloakroom(离线+背包)
- 网页前端上传文件,后端接受并处理文件
- openresty模板html页面,springboot+nginx+lua开发+html模板渲染
- 物联网智能家居系统解决方案
- 原生js提供的视频画中画api
- yolov1原文地址以及论文翻译
- 解决·web项目在浏览器页面上乱码
- 《MapReduce: Simplified Data Processing on Large Clusters》译文
热门文章
- 在moss页面出错时,显示详细的错误信息.
- Golang 随机获取本机可用端口
- KVM中四种网络模型(三)
- leetcode算法题--新21点★
- OPENSSL_Uplink(0098E000,07): no OPENSSL_Applink 错误分析
- 关于 通过http请求 无法访问Linux下的ftp服务的解决办法!
- [Erlang 0034] Erlang iolist
- 创建型模式 简单工厂模式
- 走近云计算:解密IaaS、PaaS和SaaS
- Exchange2010 初始化失败