给图片加边框源代码c语言,OpenCV实现给图片添加边框功能
目标:
基于OpenCV的函数cv::copyMakeBorder给图像添加边框
函数简介:
copyMakeBorder( src, dst, top, bottom, left, right, borderType, value );
参数:
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 image
if( src.empty() )
{
printf(" No data entered, please enter the path to an image file \n");
return -1;
}
//![load]
/// Brief how-to for this program
printf( "\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 filter
top = (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;
}
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
给图片加边框源代码c语言,OpenCV实现给图片添加边框功能相关推荐
- html给图片加描边,ps如何给图片加边框?Photoshop CS6巧用描边给照片添加边框教程...
怎么用ps给照片加边框?生活中,为了照片更加美观,经常会给图片加上边框,那么,在Photoshop中怎么给图片加边框呢?下面给大家介绍一下Photoshop CS6巧用描边给照片添加边框的具体操作方法 ...
- OpenCV在图像上添加边框borders
OpenCV在图像上添加边框borders 在图像上添加边框borders 目标 理论 代码 解释 声明变量 载入图片 创建一个窗口 初始化参数 环形loop 颜色随机 在图像周围形成边框 结果 在图 ...
- JQuery图片加载显示loading和加载失败默认图片
在很多时候我们需要用到图片加载功能,在网上搜资料后就想为了以后使用方便重新整理了下,结果如图: 最后一张是加载失败显示的图片,没找到合适的图片,先用他顶替. 页面引用 <div class=&q ...
- 从零开始实现图片加载特效之黑白照片、倒影图片、图片蒙版
尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/53168797, 本文出自:[gengqiquan的博客] 之前有 ...
- ios 图片加载内存尺寸_iOS内存分析上-图片加载内存分析
简介 对于大多数App来说,内存占用主要就是图片.本文将从实用的角度分析,iOS图片的内存占用.测量.优化等. iOS内存-有什么影响 在移动操作系统设备中,是不能像PC一样进行内存swap的,而随着 ...
- html给背景图片加遮罩,科技常识:css3给背景图片加颜色遮罩的方法
今天小编跟大家讲解下有关css3给背景图片加颜色遮罩的方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关css3给背景图片加颜色遮罩的方法 的相关资料,希望小伙伴们看了有所帮助. 前段时 ...
- alert中添加表格_Excel设置表格边框的几种方法,还有自动添加边框哟
我们在日常工作中,使用Excel制作表格的,最后都要加上边框,打印时才会达到表格的要求,今天小编教大家快速给表格添加边框的方法,有一种是自动添加哟! 方法一: 利用功能选项卡按钮,这应该是大家经常用的 ...
- c语言图片加水印,[求助]C语言 bmp文件加上水印
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给一张图片加水印后存起来然后显示出来 有部分源码 求高手帮忙完成~! #include #include /* structure defiens bit ...
- element ui 图片加载失败_解决Element UI - el-image 图片初始化加载失败问题
最近使用elementUI的el-image发现经常会出现加载src失败的情况,问题估计就是e-image的src路径一旦初始化加载失败的话就没有异步刷新,(这个地方需要注意过这个问题的大佬解读下源码 ...
最新文章
- [转]Android UI 自动化测试
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...
- Element el-upload上传组件详解
- 2021考研数一李正元400题、张宇4套卷题目整理
- 在AndroidStudio中数据存储第三方数据管理Bmob的使用
- 微软放弃IE浏览器 应尽快完成国产化替代
- ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法...
- Git笔记(31) 重置揭密
- 超简代码版设计模式系列六
- fastmock模拟常见数据结构
- 用记事本写表白html,抖音电脑弹窗表白代码怎么弄_记事本vbs告白代码写法介绍_抖音表白套路方法分享...
- 自己制作一个计时器、倒计时器
- 个人总结 onSaveInstanceState方法会在什么时候被执行
- linux下操作3G模块
- CSGO地图人物模型配置
- 可爱的小老鼠计算机教案,大班语言儿歌教案《小老鼠玩电脑》
- 高企审计报告包括哪些内容?
- codec基础知识的学习
- 实验七 计数器及其应用
- 用计算机探索规律的总结,《用计算器探索规律》(通用6篇)
热门文章
- Codeforces Round #601 (Div. 2)B. Fridge Lockers
- 4、基本命令-系统管理
- P1719 最大加权矩形(二维dp)
- Google Earth Engine(GEE)——reduceRegions中参数详解
- 写给新手的深度学习综述,收藏了
- laravel接合monolog实现日志记录到Elasticsearch实践
- Kali linux无线网络渗透详解笔记
- C++学习(三)LHS RHS
- 电子表整点报时怎么取消_歪果仁怎么说“我被放鸽子了”?这可跟鸽子没关系哦...
- Mac的自带软件grapher