OpenCV卷積邊界處理:copyMakeBorder函式详解
需积分: 0 114 浏览量
更新于2024-08-05
收藏 424KB PDF 举报
OpenCV 卷積邊界處理(copyMakeBorder)
OpenCV 卷積邊界處理是一種常見的影像處理技術,主要用於處理影像邊界問題。在進行卷積處理影像時,在影像的邊界,核心沒有足夠元素納入計算,OpenCV 提供了 copyMakeBorder() 函式將原圖稍微放大,再開始進行卷積。
copyMakeBorder() 函式是將原始影像的資料複製到一個稍大的影像裡,並將邊界進行外推,有幾種 BORDER 型態決定外推值。常見的 BORDER 型態有:
* BORDER_CONSTANT:外推的值為常數,常在仿射變換、透視變換中使用。
* BORDER_REPLICATE:外推的值和邊緣值相同,OpenCV 的 medianBlur默認的處理方式。
* BORDER_REFLECT_101:外推像素和影像邊界成鏡像映射,OpenCV 的 filter2D、blur、GaussianBlur、bilateralFilter默認的處理方式。
copyMakeBorder() 函式的使用方法為:
```cpp
void copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar& value=Scalar())
```
其中,src 是輸入圖,dst 是輸出圖,top、bottom、left、right 是上下左右分別外推多少像素,borderType 是外推的方式,value 是外推的值。
在使用 copyMakeBorder() 函式時,需要注意輸入圖的大小和輸出圖的大小。輸入圖的大小是指原始影像的大小,而輸出圖的大小則是輸入圖大小加上外推的像素數。
例如,如果輸入圖的大小是 640x480,而外推的像素數是 10,則輸出圖的大小將是 660x500。這樣可以保證輸出圖的大小和輸入圖的大小相同,使得卷積處理的結果更加精確。
總之,copyMakeBorder() 函式是 OpenCV 中的一個非常有用的函式,可以幫助我們處理影像邊界問題,提高卷積處理的精確性。
2022-09-14 上传
2022-09-20 上传
2024-11-18 上传
2024-11-18 上传
卡哥Carlos
- 粉丝: 33
- 资源: 300
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建