<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用Python+opencv進行圖像處理

          共 2182字,需瀏覽 5分鐘

           ·

          2022-04-28 17:26


          二條:9 個實用的 Shell 拿來就用腳本實例!!
          三條:100 道 Linux 常見面試題!

          ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

          后臺回復(fù)【大禮包】送你Python自學(xué)大禮包


          圖像是 Web 應(yīng)用中除文字外最普遍的媒體格式。
          流行的 Web 靜態(tài)圖片有 JPEG、PNG、ICO、BMP 等。動態(tài)圖片主要是 GIF 格式。
          為了節(jié)省圖片傳輸流量,大型互聯(lián)網(wǎng)公司還會定制特殊格式的圖片,WEBP 格式就是一個代表。
          Python 除了數(shù)據(jù)分析,做圖片處理也是非常好用的。
          用 Python 做圖片處理,最著名的庫就是 PIL(Python Imaging Library)了,支持最新的 Python3,而且有許多新的特性,Pillow 也成為了 Python 圖片處理必不可少的工具之一了。
          不過我們今天要使用的作圖庫是OpenCV Python?,下一期我們再來研究PIL
          這篇文章主要介紹了Python+OpenCV實現(xiàn)圖像二值化,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下。

          圖片處理庫準(zhǔn)備

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

          pip?install?opencv-python


          圖片加載
          我們先來打開一張圖片測試,如下可以成功加載圖片表示已經(jīng)
          成功安裝OpenCV-Python



          圖片縮放

          在保持圖片細(xì)節(jié)不變的前提下,把圖片放大或者縮小。

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

          #?獲取圖片尺寸
          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)
          '''


          實際效果如下:




          圖像組合

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

          準(zhǔn)備一個原圖 pic1.jpg,再準(zhǔn)備一個水印圖 img.png,目標(biāo)是把水印貼在人像圖的最右下方。


          ????#?讀取原始圖片
          ????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)

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

          ????#?原圖片選區(qū)和水印區(qū)融合,讓水印透明
          ????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)

          ????#?選區(qū)范圍設(shè)定為融合后的水印
          ????image[h?-?h_sy:?h,?w?-?w_sy:?w]?=?imgsy

          ????cv2.imwrite('./pic_sy.jpg',?image)





          1. 1分鐘爬取全國高校信息,制成大屏可視化!

          2. 用 VSCode 寫 Python,這 14 個插件不容錯過!


          瀏覽 94
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜影院一区二区三区 | 怡红院在线播放 | a免费在线 | 草逼网页 | 污污污在线免费观看 |