亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁/技術文章
文章詳情頁

python 基于opencv去除圖片陰影

瀏覽:70日期:2022-06-29 09:04:20
一、前言

如果你自己打印過東西,應該有過這種經歷。如果用自己拍的圖片,在手機上看感覺還是清晰可見,但是一打印出來就是漆黑一片。比如下面這兩張圖片:

python 基于opencv去除圖片陰影

因為左邊的圖片有大片陰影,所以打印出來的圖片不堪入目(因為打印要3毛錢,所以第二張圖片只是我用程序模擬的效果)。

那有什么辦法可以解決嗎?答案是肯定的,今天我們就來探討幾個去除陰影的方法。

二、如何去除陰影?

首先為了方便處理,我們通常會對圖片進行灰度轉換(即將圖片轉換成只有一個圖層的灰色圖像)。

然后我們分析一下,在上面的圖片中有三個主色調,分別是字體顏色(黑色)、紙張顏色(偏白)、陰影顏色(灰色)。知道這點后我們就好辦了。我們只需要把灰色和白色部分都處理為白色就好了。

那要我怎么才知道白色和灰色區域呢?對于一個8位的灰度圖,黑色部分的像素大致在0-30左右。白色和灰色應該在31-255左右(這個范圍只是大致估計,實際情況需要看圖片)。如圖:

python 基于opencv去除圖片陰影

左邊是原圖,右邊是處理后的圖片。我們將灰色和接近白色的部分都處理成了白色。

那下面我們就開始處理吧。

三、numpy的ndarray數組

可能有些讀者沒有接觸過numpy,這里簡單說一下。

numpy是一個第三方的模塊,用它我們可以很方便的處理多維數組(ndarray數組)。而圖片在OpenCV中的存儲方式正好是ndarray,所以我們對數組的操作就是對圖片的操作。

在使用之前我們需要安裝一下OpenCV模塊:

pip install opencv-python

在安裝OpenCV時會自動安裝numpy。

下面我們主要是看看布爾索引的操作,先看下面代碼:

import numpy as np# 創建一個元素為1, 0, 1, 1的ndarray數組arr = np.array([1, 0, 1, 1])# 判斷數組中有沒有0res = arr == 0# 將數組中為0的元素賦值為10arr[res] = 10

如果沒有接觸過numpy會不太理解上面的語法。我們來詳細說一下:

1.創建ndarray數組:我們通過np.array可以將現有的列表轉換成一個ndarray對象,這個很好理解

2.判斷數組中有沒有0:我們可以直接用ndarray對象來判斷,比如:arr == 0,他會返回一個元素結構和數量一樣的ndarray對象。但是返回的對象原始類型是bool,我們來看看res的輸出:

[False True False False]

從結果可以看出,我們比較arr==0就是對數組中每個元素進行比較,并返回比較的布爾值。

3.將數組中為0的元素賦值為10:而最難理解的arr[res]操作。它其實就是拿到res中為True的視圖,比如上面的結果是第二個為True則只會返回第二個元素的視圖。我們執行下面的代碼:

arr[res] = 10

就是把對應res為True的部分賦值為10,也就是將arr中值為0的部分賦值為10。

下面是arr最后的結果:

[ 1 10 1 1]

可以看到原本的0處理為了10。

四、去除陰影

現在我們知道了布爾索引,我們可以對圖片進行處理了。我們只需要讀取圖片,然后將像素值大于30的部分處理為白色就好了。下面是我們的代碼:

import cv2# 讀取圖片img = cv2.imread(’page.jpg’, 0)# 將像素值大于30的部分修改為255(白色)img[img > 30] = 255# 保存修改后的圖片cv2.imwrite(’res.jpg’, img)

上面的代碼非常簡單,我們使用cv2.imread函數讀取圖片,第一個參數是圖片路徑,第二個參數表示讀取為灰度圖。我們來看看效果圖:

python 基于opencv去除圖片陰影

可以看到陰影部分被很好地去除了。有些字比較模糊,我們可以通過調節灰白色的范圍調整。比如:

img[img > 40] = 255

具體的值就要根據要處理的圖片來決定了。

五、改進

對于上面的處理,還可以做一個小小的改進。我們可以讓紙張顏色不那么白,我們來看改進后的代碼:

import cv2import numpy as npimg = cv2.

標簽: Python 編程
相關文章:
主站蜘蛛池模板: zljzlj日本妈妈 | 国产精品久久久久久久久久98 | www.久色 | 亚洲综合图色国模40p | 伊人精品线视天天综合 | 亚洲综合欧美综合 | 亚洲v日本v欧美v综合v | 一级呦女专区毛片 | 拍拍拍拍拍拍拍无挡大全免费 | 青青青免费视频精品99 | 欧美高清在线精品一区 | 日韩欧美黄色片 | 另类欧美日韩 | 亚洲午夜18 | 国产一区二区影视 | 风间由美理论片在线观看 | 成人福利免费在线观看 | 91久久老司机福利精品网 | 亚洲国产九九精品一区二区 | 黄色a视频 | 九九精品视频免费 | 国产一区亚洲二区三区毛片 | 久久精品亚洲精品一区 | 亚洲福利社 | 成人在线观看网址 | 黑人性视频做爰全过程视频 | 性生活免费视频网站 | 99视频精品全部免费免费观 | 精品日本亚洲一区二区三区 | 国产黄色在线 | 国产日韩精品一区二区在线观看播放 | 啪啪天堂 | 护士精品一区二区三区 | 亚洲欧美综合一区二区三区四区 | 97视频在线免费播放 | 精品在线一区二区三区 | 日本高清αv毛片免费 | 欧美做爰gif动态图一区二区 | 网址黄| 国产成人精品美女在线 | 看黄网址在线观看 |