卷积边界问题
图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟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 ;
}

最新文章

  1. Apache Lucene(全文检索引擎)—搜索
  2. ORACLE分区--表分区
  3. ARC Rules
  4. 设置trace SQL
  5. GitHub 中国区前100 名技术专家
  6. Device.js——检测设备平台、操作系统的Javascript 库
  7. jqGrid添加详细按钮,单击弹出窗体
  8. centos安装Chromium
  9. Graph - leetcode [图]
  10. react中需要用到【深度复制】的问题
  11. wordpress常用函数及使用位置
  12. Angular笔记-select
  13. caffe运行错误: im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
  14. json小知识
  15. 深入理解SVG坐标体系和transformations- viewport, viewBox,preserveAspectRatio
  16. Docker与CI持续集成/CD(转)
  17. Go语言的数据类型
  18. 结合BeautifulSoup和hackhttp的爬虫实例
  19. S2SH框架中的无刷新验证码功能实现
  20. 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType

热门文章

  1. Apache Commons Collections 反序列化详细分析学习总结
  2. @RequestMapping 用法详解之地址映射(转)
  3. Python3.7.4入门-0/1To Begin/数据类型与结构
  4. 浅谈HDFS(一)
  5. jupyter编辑快捷键
  6. word2vec之tensorflow(skip-gram)实现
  7. CF #579 (Div. 3) C.Common Divisors
  8. python库之turtle(图形绘制) 开启新的快乐源泉
  9. scrapy爬取迅雷电影天堂最新电影ed2k
  10. github- 优秀资源总结