opencv::处理边缘
2024-08-30 01:20:06
卷积边界问题
图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理。
处理边缘
在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在四周各填充1个像素的边缘,
这样就确保图像的边缘被处理,在卷积处理之后再去掉这些边缘。
openCV中默认的处理方法是: BORDER_DEFAULT
此外常用的还有如下几种:
- BORDER_CONSTANT – 填充边缘用指定像素值
- BORDER_REPLICATE – 填充边缘像素用已知的边缘像素值。
- BORDER_WRAP – 用另外一边的像素来补偿填充
copyMakeBorder(
Mat src, // 输入图像
Mat dst, // 添加边缘图像
int top, // 边缘长度,一般上下左右都取相同值,
int bottom,
int left,
int right,
int borderType // 边缘类型
Scalar value
)
int main(int argc, char** argv) {
Mat src, dst;
src = imread(STRPAHT2);
if (!src.data) {
printf("could not load image...\n");
return -;
} int top = (int)(0.05*src.rows);
int bottom = (int)(0.05*src.rows);
int left = (int)(0.05*src.cols);
int right = (int)(0.05*src.cols);
RNG rng();
int borderType = BORDER_DEFAULT; int c = ;
while (true) {
c = waitKey();
// ESC
if ((char)c == ) {
break;
}
if ((char)c == 'r') {
borderType = BORDER_REPLICATE;
} else if((char)c == 'w') {
borderType = BORDER_WRAP;
} else if((char)c == 'c') {
borderType = BORDER_CONSTANT;
}
Scalar color = Scalar(rng.uniform(, ), rng.uniform(, ), rng.uniform(, ));
copyMakeBorder(src, dst, top, bottom, left, right, borderType, color);
imshow("OUTPUT_WIN", dst);
} //去边缘
GaussianBlur(src, dst, Size(, ), , );
imshow("OUTPUT_WIN", dst); waitKey();
return ;
}
最新文章
- Apache Lucene(全文检索引擎)—搜索
- ORACLE分区--表分区
- ARC Rules
- 设置trace SQL
- GitHub 中国区前100 名技术专家
- Device.js——检测设备平台、操作系统的Javascript 库
- jqGrid添加详细按钮,单击弹出窗体
- centos安装Chromium
- Graph - leetcode [图]
- react中需要用到【深度复制】的问题
- wordpress常用函数及使用位置
- Angular笔记-select
- caffe运行错误: im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- json小知识
- 深入理解SVG坐标体系和transformations- viewport, viewBox,preserveAspectRatio
- Docker与CI持续集成/CD(转)
- Go语言的数据类型
- 结合BeautifulSoup和hackhttp的爬虫实例
- S2SH框架中的无刷新验证码功能实现
- 巨蟒python全栈开发django11:ajax&;&;form表单上传文件contentType
热门文章
- Apache Commons Collections 反序列化详细分析学习总结
- @RequestMapping 用法详解之地址映射(转)
- Python3.7.4入门-0/1To Begin/数据类型与结构
- 浅谈HDFS(一)
- jupyter编辑快捷键
- word2vec之tensorflow(skip-gram)实现
- CF #579 (Div. 3) C.Common Divisors
- python库之turtle(图形绘制) 开启新的快乐源泉
- scrapy爬取迅雷电影天堂最新电影ed2k
- github- 优秀资源总结