精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Python+opencv進行圖像處理

jf_78858299 ? 來源:GOGO數據 ? 作者:是沐沐呀 ? 2023-02-08 10:57 ? 次閱讀

圖像是 Web 應用中除文字外最普遍的媒體格式。流行的 Web 靜態圖片有 JPEG、PNG、ICO、BMP 等。動態圖片主要是 GIF 格式。

為了節省圖片傳輸流量,大型互聯網公司還會定制特殊格式的圖片,WEBP 格式就是一個代表。

Python 除了數據分析,做圖片處理也是非常好用的。

用 Python 做圖片處理,最著名的庫就是 PIL(Python Imaging Library)了,支持最新Python3,而且有許多新的特性,Pillow 也成為了 Python 圖片處理必不可少的工具之一了。

不過我們今天要使用的作圖庫是OpenCV Python ,下一期我們再來研究PIL

這篇文章主要介紹了Python+OpenCV實現圖像二值化,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下。

圖片處理庫準備

OpenCV Python 來處理圖片,安裝過程如下:

圖片加載

我們先來打開一張圖片測試,如下可以成功加載圖片表示已經

成功安裝OpenCV-Python

圖片縮放

在保持圖片細節不變的前提下,把圖片放大或者縮小。

其中img 是圖片對象,img.shape 表示圖片的形狀大小,分別是高、寬、通道數。

# 獲取圖片尺寸
img = cv2.imread("./pic1.jpg")
h, w, ch = img.shape
print(h, w, ch)
  
'''
1240 960 3
'''

我們的思路如下:

程序讀入圖片文件,用 cv2.resize 方法,把圖片等比例縮放為一半的大小。

# 獲取圖片尺寸
img = cv2.imread("./pic1.jpg")
h, w, ch = img.shape
print('原圖尺寸:', h, w, ch)

new_h = int(h / 2)
new_w = int(w / 2)
res = cv2.resize(img, (new_w, new_h), interpolation=cv2.INTER_LINEAR)
cv2.imwrite('./half_pic1.jpg', res)

# 獲取圖片尺寸
img = cv2.imread("./half_pic1.jpg")
h, w, ch = img.shape
print('縮半原圖尺寸:', h, w, ch)
    
'''
原圖尺寸:1240 960 3
縮半原圖尺寸:620 480 3
'''

實際效果如下:

圖片裁剪

把圖片的局部形狀截取出來,這里我們截取小姐姐圖像,按照自己需求去掉前后左右多余邊框。

img = cv2.imread("./pic1.jpg")
h, w, ch = img.shape
print(h, w, ch)
# (x0,y0) (x1,y1) 矩陣
x0, y0 = 200, 80
x1, y1 = 880, 960
# img 是一個按行掃描的矩陣
res = img[y0:y1, x0:x1]
print('截取后 H,W=', res.shape[:2])
cv2.imwrite('./pic.jpg', res)

'''
1240 960 3
截取后 H,W= (880, 680)
'''

實際效果如下:

圖像組合

把兩個或者多個圖像進行堆疊、拼接。

準備一個原圖 pic1.jpg,再準備一個水印圖 img.png,目標是把水印貼在人像圖的最右下方。

# 讀取原始圖片
    image = cv2.imread('./pic1.jpg')
    (h, w) = image.shape[:2]
    print("SOURCE", image.shape)

    # 讀取水印
    imgsy = cv2.imread('./img.png')
    (h_sy, w_sy) = imgsy.shape[:2]
    print("SHUIYIN", imgsy.shape)

    # 定義原圖片選區
    roi = image[h - h_sy:h, w - w_sy:w]

    # 原圖片選區和水印區融合,讓水印透明
    for y in range(h_sy):
        for x in range(w_sy):

            p = imgsy[y, x]
            if (p[0], p[1], p[2]) == (0, 0, 0):
                imgsy[y, x] = roi[y, x]

    cv2.imwrite('./shuiyin+roi.png', imgsy)

    # 選區范圍設定為融合后的水印
    image[h - h_sy: h, w - w_sy: w] = imgsy

    cv2.imwrite('./pic_sy.jpg', image)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1257

    瀏覽量

    69368
  • OpenCV
    +關注

    關注

    30

    文章

    628

    瀏覽量

    41273
  • python
    +關注

    關注

    56

    文章

    4783

    瀏覽量

    84473
收藏 人收藏

    評論

    相關推薦

    基于機器學習庫opencv和平臺Jupyter Notebook的車牌識別案例

    python+opencv實現車牌識別
    發表于 02-28 11:08

    【Toybrick RK3399Pro AI開發板試用體驗】ACT Ⅵ:Linux下靜態人臉識別 python+opencv

    程序,只要點擊run即可,也不會報錯。看了網上很多教程,python+opencv,在有深度訓練源的情況下,7行代碼就能實現,那我們現在就來試一試。首先,我們要找一個訓練過的人臉的源,看了下大神的代碼,我
    發表于 08-10 10:50

    關于OpenCV圖像如何處理

    OpenCV-圖像處理(25、直方圖比較)
    發表于 04-27 15:14

    Vivado HLS實現OpenCV圖像處理的設計流程與分析

    ,或者在更大的圖像中對需要的特征或區域進行處理是,OpenCV似乎足以滿足很多應用的要求,但對于高分辨率高幀率實時處理的場景下,
    發表于 07-08 08:30

    如何使用Python中的OpenCV模塊檢測顏色

    在這篇文章中,我們將看到如何使用 Python 中的 OpenCV 模塊檢測顏色,進入這個領域的第一步就是安裝下面提到的模塊。pip install opencv-pythonpip install
    發表于 02-09 16:31

    OpenCV圖像處理編程研究

    OpenCV是一種用于數字圖像處理和計算機視覺的函數庫,由Intel微處理器研究實驗室的視覺交互組開發,采用的開發語言是C++。本文通過學習掌握在O
    發表于 06-25 17:52 ?0次下載

    最全OpenCV教程及圖像處理、目標跟蹤、識別案例

    本專題主要幫助讀者快速入門 OpenCV,而無需到處搜尋參考資料,為你免除大量自行搜索的時間,本專題主要給大家介紹OpenCV基礎知識及應用領域設計,包含OpenCV教程、OpenCV
    發表于 07-06 14:11
    最全<b class='flag-5'>OpenCV</b>教程及<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>、目標跟蹤、識別案例

    使用opencv進行圖像處理

    使用opencv進行圖像處理_于仕琪,感興趣的可以看看。
    發表于 05-03 14:45 ?0次下載

    python圖像處理opencv步驟是怎么樣的

    越來越覺得python是一強大的工具,處理樣本確實不錯。最近因項目需要涉及到圖片處理,所以開始用python調用opencv,再次覺得
    發表于 12-04 15:29 ?4401次閱讀

    OpenCV函數圖像處理目錄說明

    本文檔的主要內容詳細介紹的是OpenCV函數圖像處理目錄說明。
    發表于 10-29 15:55 ?12次下載
    <b class='flag-5'>OpenCV</b>函數<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>目錄說明

    如何使用Python OpenCV進行面部標志檢測

    今天我們將使用相同的 OpenCV 和 Raspberry Pi 進行人臉標志檢測。來自 dlib 庫的預訓練面部標志檢測器模塊將用于檢測面部關鍵面部結構的位置,python OpenCV
    發表于 08-12 16:32 ?1432次閱讀
    如何使用<b class='flag-5'>Python</b> <b class='flag-5'>OpenCV</b><b class='flag-5'>進行</b>面部標志檢測

    如何使用PythonOpenCV進行圖像拼接

      圖像拼接是計算機視覺中最成功的應用之一。如今,很難找到不包含此功能的手機或圖像處理API。在本文中,我們將討論如何使用PythonOpenCV
    的頭像 發表于 10-26 15:59 ?1940次閱讀

    使用opencvpython進行智能火災檢測

    電子發燒友網站提供《使用opencvpython進行智能火災檢測.zip》資料免費下載
    發表于 11-02 15:08 ?0次下載
    使用<b class='flag-5'>opencv</b>和<b class='flag-5'>python</b><b class='flag-5'>進行</b>智能火災檢測

    如何使用OpenCVPython圖像中提取感興趣區域

    今天我們將一起探究如何使用OpenCVPython圖像中提取感興趣區域(ROI)。 在之間的文章中,我們完成了圖像邊緣提取,例如從臺球桌中提取桌邊。使用了簡單的
    的頭像 發表于 02-07 14:42 ?1779次閱讀

    opencv-pythonopencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Pytho
    的頭像 發表于 07-16 10:38 ?1016次閱讀