******重大更新*******
为了尽快进入到更有意思的例程
以后一些内容太少的例程
我们就集中一下
或者
跳过
第一个获得跳过殊荣的是:
copyMakeBorder_demo.cpp
给图像添加边界
讲得是我们已经讲过的
设置边界
两种方法:
BORDER_CONSTANT: 使用常数填充边界 (i.e. 黑色或者0 )
BORDER_REPLICATE: 复制原图中最临近的行或者列。
第一个获得集中的是:
CannyDetector_Demo.cpp
Laplace_Demo.cpp
Sobel_Demo.cpp
【17】边缘检测算子
\OpenCV2.3.1\opencv\samples\cpp\tutorial_code\ImgTrans
大家好
我是 lena 桑
= =
你們真的很幸運
今天我會看起來有點不一樣哦
素顏沒問題的啦!
是不是~
我想去上康熙的卸妝單元可是B兔哥說沒差沒看點
我是該開心呢還是開心呢。。。
sobel
Sobel 算子是一个离散微分算子 (discrete differentiation operator)。
它用来计算图像灰度函数的近似梯度。
Sobel 算子结合了高斯平滑和微分求导。
什麽 = = 這是誰幹的好事!!
lena桑很滿意啊!!你看那線條~
void Sobel(const Mat& src, Mat& dst, int ddepth, int xorder, int yorder, int ksize=3, double scale=1, double delta=0, int borderType=BORDER_DEFAULT)
src_gray: 在本例中为输入图像,元素类型 CV_8U
grad_x/grad_y: 输出图像.
ddepth: 输出图像的深度,设定为 CV_16S 避免外溢。
x_order: x 方向求导的阶数。
y_order: y 方向求导的阶数。
scale, delta 和 BORDER_DEFAULT: 使用默认值
Scharr
当内核大小为 3 时,
以上Sobel内核可能产生比较明显的误差
(毕竟,Sobel算子只是求取了导数的近似值)。
为解决这一问题,OpenCV提供了 Scharr 函数,
但该函数仅作用于大小为3的内核。
该函数的运算与Sobel函数一样快,但结果却更加精确
你好,我是lena桑
不要怕
那是我的 尸斑~~~~~
(我才不會承認我的皮膚差呢!)
void Scharr(const Mat& src, Mat& dst, int ddepth, int xorder, int yorder, double scale=1, double delta=0, int borderType=BORDER_DEFAULT)
Laplacian
好久沒吃 人心 了,你們快喂我啊
難道你們忍心看我lena桑消散了嗎
void Laplacian(const Mat& src, Mat& dst, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT)
src_gray: 输入图像。
dst: 输出图像
ddepth: 输出图像的深度。 因为输入图像的深度是 CV_8U ,这里我们必须定义 ddepth = CV_16S 以避免外溢。
kernel_size: 内部调用的 Sobel算子的内核大小,此例中设置为3。
scale, delta 和 BORDER_DEFAULT: 使用默认值。
Canny
低错误率: 标识出尽可能多的实际边缘,同时尽可能的减少噪声产生的误报。
高定位性: 标识出的边缘要与图像中的实际边缘尽可能接近。
最小响应: 图像中的边缘只能标识一次。
我要吃 人心!!!!!!!!!!!!!!!!!!!!!!!
我只吃了一口哦
= 3= 有活了??
= = 感覺不對
我才不會告訴你剛才是 迴光返照 呢!!!
撒喲娜拉!
所以 sobel 和 canny 誰贏一些??