<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                涉及函數cv2.getPerspectiveTransform,cv2.warpAffine和cv2.warpPersperctive 1.擴展縮放 只是改變圖像的尺寸大小,cv2.resize()可以實現這個功能。在縮放時推薦cv2.INTER_AREA,在拓展時推薦cv2.INTER_CUBIC(慢)和cv2.INTER_LINEAR。默認情況下所有改變圖像尺寸大小的操作使用的是插值法都是cv2.INTER_LINEAR。 ~~~ import cv2 img = cv2.imread('45.jpg') #下面的None本應該是輸出圖像的尺寸,但是因為后面我們設置了縮放因子,所以,這里為None res = cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC) #or #這里直接設置輸出圖像的尺寸,所以不用設置縮放因子 height , width =img.shape[:2] res = cv2.resize(img,(2*width,2*height),interpolation=cv2.INTER_CUBIC) while(1): cv2.imshow('res',res) cv2.imshow('img',img) if cv2.waitKey(1)&0xFF == 27: break cv2.destroyAllWindows() ~~~ 2.平移 如果想要沿(x,y)方向移動,移動的距離為(tx,ty)可以以下面方式構建移動矩陣。 ![](https://box.kancloud.cn/672d6f21d834dec1c01b95bb4c1405e1_220x112.jpg) 可以使用Numpy數組構建矩陣,數據類型是np.float32,然后傳給函數cv2.warpAffine() 函數cv2.warpAffine() 的第三個參數的是輸出圖像的大小,它的格式 應該是圖像的(寬,高)。應該記住的是圖像的寬對應的是列數,高對應的是行數。 3.旋轉 對一個圖像旋轉角度θ,需要使用下面的旋轉矩陣。 ![](https://box.kancloud.cn/d205eb3a4cc64fb22e4bfe94fd6e075e_296x99.jpg) 但OpenCVC允許在任意地方進行旋轉,所以矩陣應該為 ![](https://box.kancloud.cn/a47cf87f929111a30484c962471de587_467x116.jpg) 其中α = scale · cos θ 為構建旋轉矩陣,OpenCV提供了一個函數cv2.getRotationMatrix2D。 ~~~ import cv2 img = cv2.imread('45.jpg',0) rows,cols=img.shape #這里的第一個參數為旋轉中心,第二個為旋轉角度,第三個為旋轉后的縮放因子 #可以通過設置旋轉中心,縮放因子以及窗口大小來防止旋轉后超出邊界的問題。 M=cv2.getRotationMatrix2D((cols/2,rows/2),45,0.6) #第三個參數是輸出圖像的尺寸中心 dst=cv2.warpAffine(img,M,(2*cols,2*rows)) while(1): cv2.imshow('img',dst) if cv2.waitKey(1)==27: break cv2.destroyAllWindows() ~~~ 4.仿射變換 在仿射變換中,原圖中所有平行線在結果圖像中同樣平行。為創建這個矩陣,需要從原圖像中找到三個點以及他們在輸出圖像中的位置,然后cv2.getAffineTransForm()會創建一個2X3的矩陣。最后這個矩陣會被傳給函數cv2.warpAffine() ~~~ import cv2 import numpy as np from matplotlib import pyplot as plt img=cv2.imread(''draw.png') rows,cols,ch = img.shape pts1 = np.float32([50,50],[200,50],[50,200]) pts2 = np.float32([10,100],[200,50],[100,250]) #行,列,通道數 M = cv2.getAffineTransform(pts1,pts2) dst = cv2.warpAffine(img,M,(cols,rows)) plt.subplot(121,plt.imshow(img),plt.title('Input')) plt.subplot(121,plt.imshow(img),plt.title('output')) plt.show() ~~~ 5.透視變換 對于視角變換,我們需要一個3x3變換矩陣。在變換前后直線還是直線。需要在原圖上找到4個點,以及他們在輸出圖上對應的位置,這四個點中任意三個都不能共線,可以有函數cv2.getPerspectiveTransform()構建,然后這個矩陣傳給函數cv2.warpPerspective() ~~~ import cv2 import numpy as np from matplotlib import pyplot as plt img=cv2.imread('sudokusmall.png') rows,cols,ch=img.shape pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]]) pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]]) M=cv2.getPerspectiveTransform(pts1,pts2) dst=cv2.warpPerspective(img,M,(300,300)) plt.subplot(121,plt.imshow(img),plt.title('Input')) plt.subplot(121,plt.imshow(img),plt.title('Output')) plt.show() ~~~
                  <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>

                              哎呀哎呀视频在线观看