calcSharrDeriv(求微分)、copyMakeBorder(边缘扩展)--opencv源码解析
1. 函数体解析
a. static void calcSharrDeriv(const cv::Mat& src, cv::Mat& dst)
| 函数作用 | 对输入图像求微分,并将微分结果存储到dst中,微分模板可见原理 |
| src | 待处理图像,src的depth必须为CV_8U,通道不做要求 |
| dst |
存放微分结果,类型同src,通道数为src的2倍 |
b.void cv::copyMakeBorder( InputArray _src, OutputArray _dst, int top, int bottom,
int left, int right, int borderType, const Scalar& value )
| 函数作用 | 为图像_src扩充边界 |
| _src | 输入图像 |
| _dst | 扩充边缘后的输出图像 |
| top | 图像上部扩充宽度 |
| bottom | 图像下部扩充宽度 |
| left | 图像左边扩充宽度 |
| right | 图像右侧扩充宽度 |
| borderType | 边缘扩充类型: enum BorderTypes {
//固定值填充,默认为0 //以边缘值进行填充 //以镜像的方式进行填充 //一种首位翻转的镜像方式填充 BORDER_REFLECT101 = BORDER_REFLECT_101, //!< same as &n |

本文深入解析了OpenCV中的两个关键函数:calcSharrDeriv用于图像微分,通过改进的Prewitt算子实现;copyMakeBorder用于图像边界扩展,支持多种填充模式。详细介绍了函数原理、参数意义及内部实现机制。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



