国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

程序開源網(wǎng)站關(guān)鍵詞列表

程序開源網(wǎng)站,關(guān)鍵詞列表,android系統(tǒng)定制開發(fā),鄭州做網(wǎng)站推RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對(duì)紅(R)、綠(G)、藍(lán)(B)三個(gè)顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個(gè)通道的顏色&#xff…

RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對(duì)紅(R)、綠(G)、藍(lán)(B)三個(gè)顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個(gè)通道的顏色,這個(gè)標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏色,是運(yùn)用最廣的顏色系統(tǒng)之一。
在這里插入圖片描述

RGB 模式的彩色圖像在讀入 OpenCV 內(nèi)進(jìn)行處理時(shí),會(huì)按照行方向依次讀取該 RGB 圖像的 B 通道、G 通道、R 通道的像素點(diǎn),并將像素點(diǎn)以行為單位存儲(chǔ)在 ndarray 的列中。例如,有一幅大小為 R 行×C 列的原始 RGB 圖像,其在 OpenCV 內(nèi)以 BGR 模式的三維數(shù)組形式存儲(chǔ)。
在這里插入圖片描述

import numpy as np
import matplotlib.pyplot as plt
import cv2
img=cv2.imread('img\GDP.JPG')h,w,l=img.shape
img.shape
	(347, 496, 3)

注:數(shù)據(jù)存儲(chǔ)格式,每個(gè)單元數(shù)據(jù)范圍在0~255,RGB中(255,255,255)為白色,(0,0,0)為黑色,在二位平面圖上,原點(diǎn)(0,0)在圖的左下角。

1. 按水印顏色范圍濾除水印或按曲線顏色提取圖形

按水印顏色范圍濾除水印方案,主要是針對(duì)簡單、水印背景顏色單一,例如上圖中的灰色。使用windows系統(tǒng)自帶工具“圖畫”,獲取RGB顏色值。
在這里插入圖片描述

如圖中,選中1號(hào)位置取色器,放置到水印圖標(biāo)上2號(hào)位置,通過3號(hào)位置的顏色編輯器獲取顏色數(shù)值。(默認(rèn)灰色為:128,128,128)

R=242,G=242,B=244

刪除灰色,以及臨近灰色,同時(shí),也可能把臨近的灰色坐標(biāo)也刪除,刪除就刪除了吧,下一篇再說用處。

import numpy as np
import matplotlib.pyplot as plt
import cv2
img=cv2.imread('img\GDP.JPG')h,w,l=img.shape
img.shapefor j in range(h):for k in range(w):# 刪除灰色水印if img[j][k][0] > 128 and img[j][k][1] > 128 and img[j][k][2] > 128 :img[j][k][0] = 255img[j][k][1] = 255 img[j][k][2] = 255# 刪除標(biāo)題if img[j][k][0] < 150 and img[j][k][1] < 150 and img[j][k][2] < 150 :img[j][k][0] = 255img[j][k][1] = 255 img[j][k][2] = 255            plt.imshow(img,cmap=plt.cm.gray)cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

對(duì)比Open CV輸出,BGR顏色發(fā)生了變化。😊
在這里插入圖片描述
對(duì)于背景復(fù)雜的情況,如下圖所示,采用直接提取曲線的方案。
在這里插入圖片描述

for j in range(h):for k in range(w):if img[j][k][0] <140 or img[j][k][0] >170 or img[j][k][1] <195 or img[j][k][1] >215 or img[j][k][2] <48 or img[j][k][2] >129:img[j][k][0] = 255img[j][k][1] = 255 img[j][k][2] = 255

在這里插入圖片描述

2. Open CV圖像修復(fù)(去除水印)

2.1. 圖片摳圖去水印的思路

  • 準(zhǔn)備一張有水印的圖片
    在這里插入圖片描述
    此圖命名為heart.JPG。

  • 用繪畫工具在有水印的圖片上框出水印位置
    在這里插入圖片描述
    此圖命名為heart_mask.jpg,標(biāo)注水印位置,實(shí)際應(yīng)用中,不帶外邊框,就是個(gè)白色矩形,可參見后續(xù)灰色圖像效果。

  • 利用findContours函數(shù)查找水印所在的位置

  • 初始化一個(gè)與原圖像大小相同的0矩陣

  • 將獲取到的水印圖片定位到初始化的矩陣中

  • 利用inpaint函數(shù)進(jìn)行水印的去除

2.2. 實(shí)踐案例及代碼

import cv2
import numpy as np# 讀取模板圖像
image = cv2.imread('img\heart_mask.jpg')
image_gray = cv2.cvtColor(image, cv2.COLOR_BGRA2GRAY)  # 轉(zhuǎn)換成灰度圖col,row,l = image.shape
print(col,row)# 初始化一個(gè)與原圖像等同的矩陣
temp = np.zeros((col,row))
temp = temp.astype(np.uint8)cv2.imshow('gary', image_gray)
cv2.waitKey(0)# 查找圖像中的矩陣
ret,thresh = cv2.threshold(image_gray, 250, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(thresh, 2, 1)
cnt=contours[0]
x, y, w, h = cv2.boundingRect(cnt) 
print(x, y, w, h)
# 由于背景太簡單,識(shí)別矩形失敗!替換為手工標(biāo)注
x = 536
y = 240
w = 91
h = 94
img = cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)  cv2.imshow('gary', img)
cv2.waitKey(0)# 顯示水印圖片
image2 = cv2.imread("img\heart.JPG")
roi = image2[y:y+h,x:x+w,0:3]
roi = cv2.cvtColor(roi, cv2.COLOR_BGRA2GRAY)
ret,roi = cv2.threshold(roi, 80, 90, cv2.THRESH_BINARY)  # 參數(shù)可調(diào)節(jié),因圖片的像素而異
roi = cv2.morphologyEx(roi,cv2.MORPH_ELLIPSE,(5,5)) # 將水印圖片賦值給初始化的矩陣圖片
roi2 = temp[y:y+h,x:x+w]
roi3 = cv2.add(roi, roi2)
temp[y:y+h,x:x+w] = roi3dst = cv2.inpaint(image2, temp, 30, cv2.INPAINT_NS) # 使用INPAINT_TELEA算法進(jìn)行修復(fù)
cv2.imshow('TELEA', dst)
cv2.waitKey(0)

在這里插入圖片描述

2.3. 關(guān)鍵圖像處理技術(shù)

2.3.1. 圖像閾值處理cv2.threshold

閾值的作用是根據(jù)設(shè)定的值處理圖像的灰度值,比如灰度大于某個(gè)數(shù)值像素點(diǎn)保留。通過閾值以及有關(guān)算法可以實(shí)現(xiàn)從圖像中抓取特定的圖形,比如去除背景等。

cv2中單閾值函數(shù):cv2.threshold(src, thresh, maxval, type[, dst]),返回值為retval, dst

其中:

  • src是灰度圖像
  • thresh是起始閾值
  • maxval是最大值
  • type是定義如何處理數(shù)據(jù)與閾值的關(guān)系。有以下幾種:
選項(xiàng)像素值>thresh其他情況
cv2.THRESH_BINARYmaxval0
cv2.THRESH_BINARY_INV0maxval
cv2.THRESH_TRUNCthresh當(dāng)前灰度值
cv2.THRESH_TOZERO當(dāng)前灰度值0
cv2.THRESH_TOZERO_INV 0當(dāng)前灰度值

另外的取值為:
cv2.THRESH_OTSU使用最小二乘法處理像素點(diǎn),而cv2.THRESH_TRIANGLE使用三角算法處理像素點(diǎn)。一般情況下,cv2.THRESH_OTSU適合雙峰圖。cv2.THRESH_TRIANGLE適合單峰圖。單峰圖或者雙峰圖指的是灰度直方圖。

2.3.2. 形態(tài)學(xué)操作開閉運(yùn)算(morphologyEx函數(shù))

開運(yùn)算基本原理

圖像開運(yùn)算是圖像依次經(jīng)過腐蝕、膨脹處理后的過程。圖像被腐蝕后,去除了噪聲,但是也壓縮了圖像;接著對(duì)腐蝕過的圖像進(jìn)行膨脹處理,可以去除噪聲,并保留原有圖像。

開運(yùn)算實(shí)際是先腐蝕運(yùn)算,再膨脹運(yùn)算,把看上去把細(xì)微連在一起的兩塊目標(biāo)分開了。

一般來說,開運(yùn)算可以使圖像的輪廓變得光滑,還能使狹窄的連接斷開和消除細(xì)毛刺。開運(yùn)算在過濾噪聲的同時(shí)并沒有對(duì)物體的形狀、輪廓造成明顯的影響,這是一大優(yōu)勢(shì)。當(dāng)只關(guān)心物體的位置或者個(gè)數(shù)時(shí),物體形狀的改變不會(huì)給任務(wù)帶來困擾,此時(shí)用開運(yùn)算處理具有處理速度上的優(yōu)勢(shì)。

閉運(yùn)算基本原理

閉運(yùn)算是開運(yùn)算的相反操作,先膨脹運(yùn)算,再腐蝕運(yùn)算,處理后的圖片看上去將兩個(gè)細(xì)微連接的圖塊連接在一起。

閉運(yùn)算同樣可以使得圖像變得光滑,并且能夠填平圖像中的凹陷(即小孔),彌合小裂縫,而圖像中目標(biāo)的位置和形狀可以保持不變。因此在圖像去噪中,閉運(yùn)算也是常用操作。

開運(yùn)算、閉運(yùn)算在 OpenCV 中可以使用形態(tài)學(xué)濾波函數(shù)morphologyEx()來進(jìn)行。函數(shù)原型為:cv2.morphologyEx(src, op, kernel)

  • src:輸入圖像,即源圖像,填Mat類的對(duì)象即可;
  • op: 表示形態(tài)學(xué)運(yùn)算的類型,可以是如下之一的標(biāo)識(shí)符:
    • MORPH_OPEN :開運(yùn)算(Opening operation);
    • MORPH_CLOSE :閉運(yùn)算(Closing operation);
    • MORPH_GRADIENT :形態(tài)學(xué)梯度(Morphological gradient);
    • MORPH_TOPHAT :“頂帽”(“Top hat”);
    • MORPH_BLACKHAT :“黑帽”(“Black hat”);
    • MORPH_ERODE :“腐蝕”;
    • MORPH_DILATE :“膨脹”。
  • kernel:形態(tài)學(xué)運(yùn)算的內(nèi)核。若為NULL時(shí),表示的是默認(rèn)使用參考點(diǎn)位于中心3 x 3的核。一般使用函數(shù)getStructuringEleme
    nt()配合這個(gè)參數(shù)的使用。getStructuringElement()函數(shù)會(huì)返回指定形狀和尺寸的結(jié)構(gòu)元素(內(nèi)核矩陣)。

2.3.3. 數(shù)字修復(fù)算法cv2.inpaint

修復(fù)是圖像插值。數(shù)字修復(fù)算法在圖像插值,照片恢復(fù),縮放和超分辨率等方面具有廣泛的應(yīng)用。

大多數(shù)人會(huì)在家里放一些舊的退化照片,上面有一些黑點(diǎn),一些筆畫等。你有沒有想過恢復(fù)它?我們不能簡單地在繪畫工具中擦除它們,因?yàn)樗鼘⒑唵蔚赜冒咨Y(jié)構(gòu)替換黑色結(jié)構(gòu),這是沒有用的。在這些情況下,使用稱為圖像修復(fù)的技術(shù)?;舅悸泛芎唵?#xff1a;用鄰近的像素替換那些壞標(biāo)記,使其看起來像是鄰居(取自維基百科),考慮下面顯示的圖像:

庫函數(shù):
dst = cv2.inpaint(src,mask, inpaintRadius,flags)

參數(shù)是:

  • src:輸入8位1通道或3通道圖像。
  • inpaintMask:修復(fù)掩碼,8位1通道圖像。非零像素表示需要修復(fù)的區(qū)域。
  • dst:輸出與src具有相同大小和類型的圖像。
  • inpaintRadius:算法考慮的每個(gè)點(diǎn)的圓形鄰域的半徑。
  • flags:
    • INPAINT_NS基于Navier-Stokes的方法
    • Alexandru Telea的INPAINT_TELEA方法

3. 第三方開源修復(fù)工具Lama Cleaner

Lama Cleaner 是由 SOTA AI 模型提供支持的免費(fèi)開源圖像修復(fù)工具。可以從圖片中移除任何不需要的物體、缺陷和人,或者擦除并替換(powered by stable diffusion)圖片上的任何東西。

詳見“python摳圖(去水印)開源庫lama-cleaner入門應(yīng)用實(shí)踐”。

參考:

[1]. 肖永威. python摳圖(去水印)開源庫lama-cleaner入門應(yīng)用實(shí)踐. CSDN博客. 2023.09

[2]. 風(fēng)華明遠(yuǎn). CV2簡單閾值函數(shù):cv2.threshold(). CSDN博客. 2020.12

[3]. 奔向理想的星辰大海. 【Python】Python 去除圖片水印. CSDN博客. 2023.08

[4]. 小鵬AI. OpenCV 圖片去水印(不需要自己做水印模板). CSDN博客. 2020.05

[5]. wp猿. opencv之形態(tài)學(xué)操作開閉運(yùn)算(morphologyEx函數(shù)). CSDN博客. 2022.01

[6]. mjiansun. 【Python】OpenCV中的cv2.inpaint()函數(shù). CSDN博客. 2021.07

http://m.aloenet.com.cn/news/34606.html

相關(guān)文章:

  • 新手學(xué)易語言多久可以做網(wǎng)站中國優(yōu)秀網(wǎng)頁設(shè)計(jì)案例
  • 本地旅游網(wǎng)站模版網(wǎng)絡(luò)營銷網(wǎng)站推廣方法
  • 做公司網(wǎng)站多少錢站長工具在線查詢
  • 網(wǎng)站背景色最新天氣預(yù)報(bào)最新消息
  • 如何做網(wǎng)站刷題西安網(wǎng)站建設(shè)
  • 做企業(yè)網(wǎng)站的架構(gòu)圖廣州王牌seo
  • 公司做網(wǎng)站流程關(guān)鍵詞挖掘工具愛網(wǎng)
  • 菲律賓有做網(wǎng)站的嗎seo優(yōu)化是做什么的
  • 安卓手機(jī) 做網(wǎng)站湘潭seo優(yōu)化
  • 有哪些做留學(xué)資訊的網(wǎng)站搜全網(wǎng)的瀏覽器
  • 豬八戒做網(wǎng)站怎么樣打開百度一下的網(wǎng)址
  • 服務(wù)器安全設(shè)置河南網(wǎng)站seo費(fèi)用
  • 網(wǎng)站域名不合法新聞最新消息
  • 建設(shè)單位企業(yè)鎖登陸網(wǎng)站seo沈陽
  • 做中英文游戲門戶網(wǎng)站關(guān)鍵詞怎么弄百度一下的網(wǎng)址
  • 500人在線網(wǎng)站建設(shè)配置國家市場監(jiān)管總局官網(wǎng)
  • 武漢武昌做網(wǎng)站推廣百度推廣需要什么條件
  • 長沙做網(wǎng)站好的公司有哪些跨境電商平臺(tái)哪個(gè)最好最可靠
  • 做第三方的qq互聯(lián)接口時(shí)_回調(diào)到自己的網(wǎng)站時(shí)要延時(shí)很久是什么原因品牌推廣平臺(tái)
  • 網(wǎng)站域名301是什么意思什么是長尾關(guān)鍵詞舉例
  • 老的網(wǎng)站為什么要改版新網(wǎng)站東莞seo優(yōu)化排名
  • 免費(fèi)做三級(jí)網(wǎng)站正規(guī)網(wǎng)站優(yōu)化哪個(gè)公司好
  • 免費(fèi)cms建站系統(tǒng)有哪些小說關(guān)鍵詞自動(dòng)生成器
  • 網(wǎng)站更換服務(wù)器影響今日頭條官網(wǎng)登錄入口
  • 深圳交易服務(wù)中心官網(wǎng)學(xué)校seo推廣培訓(xùn)班
  • 如何查詢網(wǎng)站打開速度變慢品牌如何推廣
  • 網(wǎng)站建設(shè)歺金手指排名15中關(guān)村標(biāo)準(zhǔn)化協(xié)會(huì)
  • 攝影師的網(wǎng)站有哪些淘寶數(shù)據(jù)查詢
  • 網(wǎng)站建設(shè)收費(fèi)價(jià)目表產(chǎn)品線上推廣渠道
  • 政府網(wǎng)站 模板線上營銷平臺(tái)有哪些