国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python+OpenCV庫(kù)實(shí)現(xiàn)對(duì)傾斜圖片的校正

這篇具有很好參考價(jià)值的文章主要介紹了Python+OpenCV庫(kù)實(shí)現(xiàn)對(duì)傾斜圖片的校正。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

前言

一、設(shè)計(jì)思路

二、編程步驟

三、代碼實(shí)現(xiàn)

四、測(cè)試結(jié)果

總結(jié)


前言

????????本實(shí)驗(yàn)旨在利用OpenCV庫(kù)實(shí)現(xiàn)對(duì)傾斜圖片的校正,并通過(guò)鼠標(biāo)交互方式選擇圖片的邊界點(diǎn),以便進(jìn)行透視變換和圖像裁剪,代碼簡(jiǎn)潔,適合初學(xué)者參考學(xué)習(xí)。


一、設(shè)計(jì)思路

????????首先,我們需要讀取一張傾斜的圖片,并將其顯示在屏幕上。然后,我們使用鼠標(biāo)交互的方式選擇圖片的邊界點(diǎn),以便計(jì)算透視變換矩陣。在獲取足夠數(shù)量的邊界點(diǎn)坐標(biāo)后,我們可以使用OpenCV的cv2.getPerspectiveTransform()函數(shù)計(jì)算透視變換矩陣,并使用cv2.warpPerspective()函數(shù)將原始圖片應(yīng)用透視變換矩陣,得到校正后的圖像。最后,根據(jù)校正后的圖像中的實(shí)際內(nèi)容,我們可以選擇對(duì)圖像進(jìn)行裁剪,以去除不需要的部分。

二、編程步驟

  1. ????????(1)導(dǎo)入所需的庫(kù)。在Python中,你可以使用OpenCV庫(kù)來(lái)進(jìn)行圖像處理和透視變換。因
  2. 此,首先需要導(dǎo)入OpenCV庫(kù)。
  3. ????????(2)讀取傾斜的圖片。使用OpenCV的cv2.imread()函數(shù)讀取圖片,并將其存儲(chǔ)為一個(gè)圖像對(duì)象。
  4. ????? (3)顯示圖片并等待鼠標(biāo)事件。使用OpenCV的cv2.imshow()函數(shù)顯示圖片,并使用cv2.setMouseCallback()函數(shù)設(shè)置鼠標(biāo)回調(diào)函數(shù),以便在鼠標(biāo)點(diǎn)擊事件發(fā)生時(shí)獲取邊界點(diǎn)的坐標(biāo)。
  5. ???????? (4)獲取邊界點(diǎn)坐標(biāo)。在鼠標(biāo)點(diǎn)擊事件發(fā)生時(shí),回調(diào)函數(shù)會(huì)被觸發(fā),可以通過(guò)回調(diào)函數(shù)中提供的參數(shù)來(lái)獲取鼠標(biāo)點(diǎn)擊的坐標(biāo)。在這個(gè)步驟中,你可以使用一個(gè)列表來(lái)存儲(chǔ)每個(gè)邊界點(diǎn)的坐標(biāo)。????????
  6. ????????(5)計(jì)算透視變換矩陣。在獲取足夠數(shù)量的邊界點(diǎn)坐標(biāo)后,使用OpenCV的cv2.getPerspectiveTransform()函數(shù)計(jì)算透視變換矩陣。這個(gè)函數(shù)接受源點(diǎn)和目標(biāo)點(diǎn)的坐標(biāo),并返回一個(gè)3x3的變換矩陣。
  7. ????????(6)應(yīng)用透視變換矩陣。使用OpenCV的cv2.warpPerspective()函數(shù)將原始圖片應(yīng)用透視變換矩陣,得到校正后的圖像。這個(gè)函數(shù)接受原始圖片、透視變換矩陣和輸出圖像的大小作為參數(shù),并返回一個(gè)轉(zhuǎn)換后的圖像。
  8. ????????(7)裁剪校正后的圖像。根據(jù)校正后的圖像中的實(shí)際內(nèi)容,你可以選擇對(duì)圖像進(jìn)行裁剪,以去除不需要的部分。可以使用OpenCV的圖像切片操作來(lái)實(shí)現(xiàn)裁剪。
  9. ????????(8)顯示和保存校正后的圖像。使用OpenCV的cv2.imshow()函數(shù)顯示校正后的圖像,并使用cv2.imwrite()函數(shù)將校正后的圖像保存到本地文件中。
  10. 三、代碼實(shí)現(xiàn)

  11. import cv2
    import numpy as np
    #讀取圖像
    img = cv2.imread('D:/Users/Desktop/python/mmexport1603882179174.jpg')
    cv2.imshow('Original Image', img)
    
    points = []
    #定義鼠標(biāo)回調(diào)函數(shù)
    def mouse_click(event, x, y, flags, param):
        if event == cv2.EVENT_LBUTTONDOWN:
            points.append([x, y])
            cv2.circle(img, (x, y), 5, (0, 255, 0), -1)
    #綁定鼠標(biāo)回調(diào)函數(shù)
    cv2.namedWindow('Original Image')
    cv2.setMouseCallback('Original Image', mouse_click)
    #循環(huán)檢測(cè)按鍵
    while True:
        cv2.imshow('Original Image', img)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    #判斷邊界點(diǎn)數(shù)量是否為4
    if len(points) != 4:
        print('Please select exactly 4 points.')
        exit()
    
    src_points = np.float32(points)
    dst_points = np.float32([[0, 0], [500, 0], [500, 500], [0, 500]])
    #進(jìn)行透視變換
    M = cv2.getPerspectiveTransform(src_points, dst_points)
    warped_img = cv2.warpPerspective(img, M, (500, 500))
    
    cv2.imshow('Warped Image', warped_img)
    cv2.waitKey(0)
    # 繼續(xù)顯示原始圖像
    cv2.imshow('Original Image', img)
    cv2.waitKey(0)
    
    cv2.destroyAllWindows()
  12. 四、測(cè)試結(jié)果

  13. python 圖片處理曲面校正,機(jī)器視覺(jué),python,opencv,開(kāi)發(fā)語(yǔ)言


總結(jié)

????????本文使用Python和OpenCV庫(kù)實(shí)現(xiàn)對(duì)傾斜圖片的校正,并通過(guò)鼠標(biāo)交互方式選擇圖片的邊界點(diǎn),以便進(jìn)行透視變換和圖像裁剪。最終可以得到一張校正后的圖片,其中包含了原始圖片中需要保留的內(nèi)容,同時(shí)去除了不需要的部分,提高了圖片的質(zhì)量和可用性,歡迎討論交流。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-831939.html

到了這里,關(guān)于Python+OpenCV庫(kù)實(shí)現(xiàn)對(duì)傾斜圖片的校正的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 圖像處理中Gamma校正的原理和實(shí)現(xiàn)算法——Python

    圖像處理中Gamma校正的原理和實(shí)現(xiàn)算法——Python 在圖像處理中,Gamma校正是一種用于調(diào)整圖像亮度的常見(jiàn)技術(shù)。本文將介紹Gamma校正的原理和實(shí)現(xiàn)方法,并提供Python代碼示例進(jìn)行演示。 一、Gamma校正的原理 Gamma校正是通過(guò)對(duì)圖像像素值進(jìn)行冪函數(shù)變換來(lái)調(diào)整圖像亮度的技術(shù)。

    2024年02月10日
    瀏覽(22)
  • MATLAB圖像傾斜校正算法實(shí)現(xiàn):圖像傾斜角檢測(cè)及校正

    MATLAB圖像傾斜校正算法實(shí)現(xiàn):圖像傾斜角檢測(cè)及校正

    在本文中,隨著多媒體技術(shù)的不斷發(fā)展,數(shù)碼相機(jī),高清拍照手機(jī)等多媒體設(shè)備己經(jīng)在人們的生活中占據(jù)了越來(lái)越重要的地位 ( 點(diǎn)擊文末“閱讀原文”獲取完整 代碼數(shù)據(jù) ) 。 通過(guò)采用圖像處理技術(shù),可以將數(shù)碼設(shè)備采 集到的文字、圖片等信息轉(zhuǎn)化成其他信息形勢(shì)輸出,例

    2024年02月04日
    瀏覽(38)
  • OpenCV for Python 入坑第二天 :圖片處理(1)

    OpenCV for Python 入坑第二天 :圖片處理(1)

    上一篇博客我們簡(jiǎn)單了解了一下如何打開(kāi)圖片、保存圖片、創(chuàng)建窗口等等。那么今天我們就來(lái)嘗試一下完成OpenCV基礎(chǔ)操作——圖像的處理 圖像處理是指對(duì)數(shù)字圖像進(jìn)行操作和改變其外觀、屬性或質(zhì)量的技術(shù)和方法。它涉及到數(shù)字圖像的獲取、存儲(chǔ)、傳輸和處理等各個(gè)方面。圖

    2024年02月16日
    瀏覽(13)
  • 在 Python 中使用 OpenCV 通過(guò)透視校正轉(zhuǎn)換圖像

    在 Python 中使用 OpenCV 通過(guò)透視校正轉(zhuǎn)換圖像

    在計(jì)算機(jī)視覺(jué)和圖像處理領(lǐng)域,透視變換是一個(gè)強(qiáng)大的工具。它允許我們改變圖像的視角以獲得新的視點(diǎn),通常用于校正扭曲或模擬不同的相機(jī)角度。本文將探討一個(gè) Python 腳本,該腳本使用計(jì)算機(jī)視覺(jué)領(lǐng)域流行的 OpenCV 庫(kù)對(duì)圖像執(zhí)行透視變換。我們將詳細(xì)介紹該腳本的工作原

    2024年01月25日
    瀏覽(23)
  • opencv進(jìn)行雙目標(biāo)定以及極線校正 python代碼

    opencv進(jìn)行雙目標(biāo)定以及極線校正 python代碼

    參考博客 OpenCV相機(jī)標(biāo)定全過(guò)程 [OpenCV實(shí)戰(zhàn)]38 基于OpenCV的相機(jī)標(biāo)定 opencv立體標(biāo)定函數(shù) stereoCalibrate() 將打印的結(jié)果保存到標(biāo)定文件中即可 參考博客 機(jī)器視覺(jué)學(xué)習(xí)筆記(8)——基于OpenCV的Bouguet立體校正 小白視角之Bouguet雙目立體校正原理 校正前 左圖 右圖 校正后

    2024年02月11日
    瀏覽(27)
  • 基于OpenCV-Python的圖像位置校正和版面分析

    基于OpenCV-Python的圖像位置校正和版面分析

    使用opencv對(duì)圖像進(jìn)行操作,要求:(1)定位銀行票據(jù)的四條邊,然后旋正。(2)根據(jù)版面分析,分割出小寫(xiě)金額區(qū)域。 首先是對(duì)圖像的校正 讀取圖片 對(duì)圖片二值化 進(jìn)行邊緣檢測(cè) 對(duì)邊緣的進(jìn)行霍夫曼變換 將變換結(jié)果從極坐標(biāo)空間投影到笛卡爾坐標(biāo)得到傾斜角 根據(jù)傾斜角對(duì)

    2024年01月19日
    瀏覽(42)
  • OpenCV圖片校正

    OpenCV圖片校正

    遇到偏的圖片想要校正成水平或者垂直的。 對(duì)于傾斜的圖片通過(guò)矯正可以得到水平的圖片。一般有如下幾種基于opencv的組合方式進(jìn)行圖片矯正。 1、傅里葉變換 + 霍夫變換+ 直線 + 角度 + 旋轉(zhuǎn) 2、邊緣檢測(cè) + 霍夫變換 + 直線+角度 + 旋轉(zhuǎn) 3、四點(diǎn)透視 + 角度 + 旋轉(zhuǎn) 4、檢測(cè)矩形輪

    2024年02月12日
    瀏覽(12)
  • Python 基于 OpenCV 視覺(jué)圖像處理實(shí)戰(zhàn) 之 OpenCV 簡(jiǎn)單視頻處理實(shí)戰(zhàn)案例 之十一 簡(jiǎn)單給視頻添加水印圖片效果

    Python 基于 OpenCV 視覺(jué)圖像處理實(shí)戰(zhàn) 之 OpenCV 簡(jiǎn)單視頻處理實(shí)戰(zhàn)案例 之十一 簡(jiǎn)單給視頻添加水印圖片效果

    目錄 Python 基于 OpenCV 視覺(jué)圖像處理實(shí)戰(zhàn) 之 OpenCV 簡(jiǎn)單視頻處理實(shí)戰(zhàn)案例 之十一 簡(jiǎn)單給視頻添加水印圖片效果 一、簡(jiǎn)單介紹 二、簡(jiǎn)單給視頻添加水印圖片效果實(shí)現(xiàn)原理 三、簡(jiǎn)單給視頻添加水印圖片效果案例實(shí)現(xiàn)簡(jiǎn)單步驟 四、注意事項(xiàng) Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)

    2024年04月25日
    瀏覽(103)
  • Python 結(jié)合opencv實(shí)現(xiàn)圖片截取和拼接

    Python 結(jié)合opencv實(shí)現(xiàn)圖片截取和拼接

    python 3.6.2 scikit-build-0.16.7 win10 opencv_python-4.5.4.60-cp36-cp36m-win_amd64.whl 下載地址: https://pypi.org/project/opencv-python/4.5.4.60/#files https://files.pythonhosted.org/packages/57/6c/7f4f56b2555d5c25dd4f41fc72a16dc6402cb2b4f967da11d8d26c669b55/opencv_python-4.5.4.60-cp36-cp36m-win_amd64.whl 注意:下載時(shí)不用下abi版的,比如 o

    2024年02月08日
    瀏覽(21)
  • Python+Kivy+OpenCV實(shí)現(xiàn)圖片定位和匹配

    在本文中,我們將介紹如何使用Kivy和OpenCV庫(kù)來(lái)構(gòu)建一個(gè)簡(jiǎn)單的圖片定位工具。這個(gè)工具可以幫助您在一張大圖片中找到與模板圖片匹配的位置,并將匹配結(jié)果以矩形框的形式顯示出來(lái)。 首先,我們需要安裝Kivy和OpenCV庫(kù)。Kivy是一個(gè)開(kāi)源的Python庫(kù),用于開(kāi)發(fā)多點(diǎn)觸摸應(yīng)用程序。

    2024年02月21日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包