<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Canny邊緣檢測:cv2.Canny() 1.原理 1.1噪音去除 由于邊緣檢測很容易受到噪音影響,所以第一步是使用5x5的高斯濾波器去除噪音。 1.2計算圖像梯度 對平滑后的圖像使用Sobel算子計算水平方向和豎直方向的一階導數(圖像梯度)(Gx和Gy)。根據得到的這兩幅梯度圖找到邊界的梯度和方向。公式如下: ![](https://box.kancloud.cn/b1a12e331ad790cc4592bd12fb936304_546x220.jpg) 梯度的方向一般總是與邊界垂直。梯度方向被歸為四類:垂直,水平,和兩條對角線。 1.3非極大值抑制 在獲得梯度的方向和大小之后,應該對整幅圖想做一個掃描,出去那些非邊界上的點。對每一個像素進行檢查,看這個點的梯度是不是周圍具有相同梯度方向的點中最大的。 ![](https://box.kancloud.cn/c305bf90bc57de0983e29e6da633df0c_662x246.jpg) 現在你得到的是一個包含“窄邊界”的二值圖像。 1.4滯后閥值 現在要確定那些邊界才是真正的邊界,需要設置兩個閥值:minVal和maxVal。當圖像的灰度梯度高于maxVal時被認為是真的邊界,那些低于minVal的邊界會被拋棄。如果介于兩者之間的話,就要看這個點是否與某個被確定為真正邊界點相連,如果是,就認為它也是邊界點,如果不是就拋棄。 2.OpenCV中的Canny邊界檢測 cv2.Canny()第一個參數是輸入圖像,第二和第三個分別是minVal和maxVal。第三個參數設置用來計算圖像梯度的Sobel卷積核的大小,默認值為3。最后一個參數是L2gradient,它可以用來設定求梯度大小的方程。如果設為True,就睡使用我們上面提到過的方程,否則使用方程:![](https://box.kancloud.cn/3c09f521784df0e4b2936da04024df1e_295x35.jpg)代替,默認值為False。 ~~~ import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('1024.jpg',0) edges = cv2.Canny(img,100,200) plt.subplot(121),plt.imshow(img,cmap='gray') plt.title('original'),plt.xticks([]),plt.yticks([]) plt.subplot(122),plt.imshow(edges,cmap='gray') plt.title('edge'),plt.xticks([]),plt.yticks([]) plt.show() ~~~ ![](https://box.kancloud.cn/3c44604c5a818be2882b41e292257c53_578x331.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看