九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
使用 OpenCV 將圖像轉(zhuǎn)換為鉛筆素描的 8 個(gè)步驟

使用 OpenCV 從彩色圖像創(chuàng)建鉛筆素描圖像

這個(gè)項(xiàng)目是我為 LetsGrowMore 的數(shù)據(jù)科學(xué)實(shí)習(xí)生創(chuàng)建的任務(wù)。

LetsGrowMore :https://letsgrowmore.in/vip/

目錄

  • 什么是 OpenCV?
  • 第 1 步:讀取圖像
  • 第 2 步:將圖像轉(zhuǎn)換為灰度
  • 第 3 步:將灰度圖像轉(zhuǎn)換為反轉(zhuǎn)灰度
  • 第 4 步:模糊負(fù)片圖像
  • 第 5 步:反轉(zhuǎn)模糊圖像
  • 第 6 步:將灰度與倒置模糊圖像混合
  • 第 7 步:使用 Matplotlib 將其與原始圖像一起顯示
  • 第 8 步:保存圖片
  • 我學(xué)到了什么
  • 接下來要嘗試的事情
  • 參考

什么是 OpenCV?

OpenCV (Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫。

它提供了廣泛的功能,包括對(duì)象檢測、人臉識(shí)別和跟蹤。

在這里,我們將使用 Open CV 將彩色圖像轉(zhuǎn)換為鉛筆素描。

在這里,我使用 Google Colab 作為我的 IDE。

第 1 步:讀取圖像

import cv2
import matplotlib.pyplot as plt

#imported cv2_imshow specific for google colab
from google.colab.patches import cv2_imshow

#to read the image
image= cv2.imread('desktop.png')

#to display the image
cv2_imshow(image)

OpenCV使用BGR配色方案,所以這里不用改顏色。但是當(dāng)我們使用 Matplotlib 時(shí),我們需要轉(zhuǎn)換,因?yàn)樗褂?strong>RGB配色方案

第 2 步:將圖像轉(zhuǎn)換為灰度

#converting the image to grayscale
gray= cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
cv2_imshow(gray)

第 3 步:將灰度圖像轉(zhuǎn)換為反轉(zhuǎn)灰度

反轉(zhuǎn)灰度圖像也稱為負(fù)像。這樣做是為了增強(qiáng)圖像的細(xì)節(jié)。

#converting image to inverted grayscale

inv_gray= 255-gray
cv2_imshow(inv_gray)

第 4 步:模糊負(fù)片圖像

使用反復(fù)試驗(yàn)找到內(nèi)核大??;對(duì)于較大的圖像,內(nèi)核大小應(yīng)該更大。

對(duì)于較小的圖像,它應(yīng)該是小數(shù)字,如 3x3 或 5x5。在小圖像中賦予大內(nèi)核值將刪除圖像的實(shí)際結(jié)構(gòu)。

blur_img=cv2.GaussianBlur(inv_gray,(101,101),0)
cv2_imshow(blur_img)

第 5 步:反轉(zhuǎn)模糊圖像

#inverting the blurred image

inv_blur=255-blur_img
cv2_imshow(inv_blur)

第 6 步:將灰度與倒置模糊圖像混合

為了完成我們的鉛筆素描,我們需要混合灰度和倒置模糊圖像。

我們將使用CV2 divide方法來執(zhí)行該操作

CV2 divide:兩個(gè)數(shù)組或標(biāo)量除以數(shù)組的每個(gè)元素。

sketch_img= cv2.divide(gray,inv_blur,scale=255.0)
cv2_imshow(sketch_img)

我們做到了??!

第 7 步:使用 Matplotlib 將其與原始圖像一起顯示

正如我已經(jīng)提到的,由于我們在這里使用 Matplotlib 并排顯示圖像,因此我們需要轉(zhuǎn)換原始圖像和素描圖像。

這是因?yàn)椋琌penCV 使用BGR配色方案,而 matplotlib 使用RGB配色方案。素描圖片也一樣。

plt.figure(figsize=(14,7))

plt.subplot(1,2,1)
plt.title('Actual image in Matplotlib')
plt.imshow(image)
plt.axis('off')

plt.subplot(1,2,2)
plt.title('Color converted image in Matplotlib')
im = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(im)
plt.axis('off')
plt.show()


plt.figure(figsize=(14,7))
plt.subplot(1,2,1)
plt.title('Actual image in Matplotlib')
plt.imshow(sketch_img)
plt.axis('off')

plt.subplot(1,2,2)
plt.title('Color converted image in Matplotlib')
rgb_sketch=cv2.cvtColor(sketch_img, cv2.COLOR_BGR2RGB)
plt.imshow(rgb_sketch)
plt.axis('off')
plt.show()
#displaying original image and pencil sketch image side by side

plt.figure(figsize=(14,7))

plt.subplot(1,2,1)
plt.imshow(im)
plt.axis('off')

plt.subplot(1,2,2)
plt.imshow(rgb_sketch)
plt.axis('off')
plt.show()

第 8 步:保存圖片

終于我們到了最后一步。保存圖片。imwrite用于保存圖片。

# saving the picture

# Filename
filename = 'sketch.png'

cv2.imwrite(filename, sketch_img)

你可以在這里查看我的 GitHub 代碼??!

https://github.com/Kavya2099/LGMVIP-DataScience/tree/main/Task%201

學(xué)到了什么

  • OpenCV 是初學(xué)者計(jì)算機(jī)視覺知識(shí)的重要來源
  • Matplotlib 始終將圖像顯示為 BGR ,openCV 以 RGB 配色方案顯示圖像
  • 應(yīng)根據(jù)圖像大小使用高斯模糊中的內(nèi)核大小。如果圖像尺寸較大,則內(nèi)核尺寸應(yīng)具有較高的值

接下來要嘗試的事情!

  • 鉛筆同時(shí)繪制多個(gè)圖像
  • 在模糊圖像中嘗試中值模糊而不是高斯模糊
  • 在 Numpy 中使用 concat 方法并排顯示圖像而不是 Matplotlib

參考

  • https://towardsdatascience.com/generate-pencil-sketch-from-photo-in-python-7c56802d8acb
  • https://stackoverflow.com/questions/19580102/inverting-image-in-python-with-opencv
  • https://www.askpython.com/python/examples/images-to-pencil-sketch
  • https://pyimagesearch.com/2021/04/28/opencv-smoothing-and-blurring/#:~:text=To%20average%20blur%20an%20image,image%20with%20increasing%20sizes%20kernels

☆ END ☆
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
OpenCV 函數(shù)學(xué)習(xí)04-用 matplotlib 顯示圖像(plt.imshow)
python+opencv圖像處理(十四)
Python圖像處理丨帶你認(rèn)識(shí)圖像量化處理及局部馬賽克特效
使用OpenCV進(jìn)行對(duì)象檢測
Python下opencv使用筆記(八)(圖像金字塔)
python 讀取并顯示圖片的兩種方法
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服