機器視覺入門之路(二八,畫素的操作(拉普拉斯))

2021-10-07 15:17:10 字數 1250 閱讀 8250

假定gx(i,j)=buffer[i*w+j]-buffer[i*w+j+1],那麼gx(i,j+1)-gx(i,j)=?x

先求gx(i,j+1),用(j+1)替換buffer[i*w+j]-buffer[i*w+j+1]中j,

所以gx(i,j+1)=buffer[i*w+(j+1)]-buffer[i*w+(j+1)+1]

所以?x=gx(i,j+1)-gx(i,j)=buffer[i*w+(j+1)]-buffer[i*w+(j+1)+1]-gx(i,j)

=buffer[i*w+j+1]-buffer[i*w+j+2]-buffer[i*w+j]+buffer[i*w+j+1]

=2*buffer[i*w+j+1]-buffer[i*w+j]-buffer[i*w+j+2]

同理gy(i,j)=buffer[i*w+j]-buffer[(i+1)*w+j],那麼gx(i+1,j)-gx(i,j)=?y

?y=gx(i+1,j)-gx(i,j)=2*buffer[(i+1)*w+j]-buffer[(i+2)*w+j]-buffer[i*w+j]

我們讓?x=2*buffer[i*w+j]-buffer[i*w+j-1]-buffer[i*w+j+1]

?y=2*buffer[(i)*w+j]-buffer[(i+1)*w+j]-buffer[(i-1)*w+j]

仍然是成立的,為什麼?嘗試解決他的證明(不難)。

那麼?x+?y=??,我們以上寫法簡化一下,令buffer[i*w+j]=f(x,y)

則,2*buffer[i*w+j]-buffer[i*w+j-1]-buffer[i*w+j+1]=2*f(x,y)-f(x-1,y)-f(x+1,y)

2*buffer[(i)*w+j]-buffer[(i+1)*w+j]-buffer[(i-1)*w+j]=2*f(x,y)-f(x,y+1)-f(x,y-1)

那麼,??=?x+?y=000000000-f(x,y-1)+0000000000+

-f(x-1,y)+4*f(x,y)-f(x+1,y)+

000000000-f(x,y+1)+000000000

好,只看係數,則是

這是什麼,不就是拉普拉斯模板嗎?而公式??=?x+?y不就是對影象畫素的拉普拉斯模板運算嗎?

那麼為什麼還有如下拉普拉斯模板?怎麼得到的呢?

黃帝內經說,知其要,一言以蔽之,不知其要,流散無窮。

機器視覺入門之路(零,可遇可求)

不知何人說,可遇不可求!但自從發明了計算機,指明了一條可遇可求的路!搞計算機,都是從零開始的,這體現了搞計算機的辛苦和原創精神。視覺資訊處理腦機制 中有句話,眼是人的前腦。而當下借用這句話形容,計算機視覺 cv 便就是人工智慧 ai 的前腦。learning opencv中的learning是什麼意...

機器視覺入門之路(五一,找線工具的設計A)

繼續我們昨天的工作,先把這個有中間分隔線 rccentreline 的矩形畫出來,然後等間隔增加線影象,讓他變成找線工具。對比 丁 字型線影象工具roibase類,有如下增加 1,增加了三條線宣告 public mg line otherline1 上 public mg line otherlin...

基於視覺的機械人SLAM入門

安裝 如下 2 進入pangolin資料夾,建立編譯資料夾並且配置編譯。cd pangolin mkdir build cd build cmake dcpp11 no boosr 1.sudo make j8安裝命令如下 orb slam22.編譯orb slam2包 如下 cd lenovo r...