<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>

          在 Google Colab 中使用 OpenCV 進(jìn)行圖像處理簡(jiǎn)介

          共 3659字,需瀏覽 8分鐘

           ·

          2021-09-08 06:13

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          在這篇文章中,我們將實(shí)現(xiàn)如何使用 OpenCV 在 google colaboratory 中進(jìn)行圖像處理。為此,我們應(yīng)該了解一些 Python 基礎(chǔ)知識(shí),下面給出的步驟將幫助我們?cè)?Google Colab 中使用 OpenCV 進(jìn)行圖像處理,這有助于機(jī)器學(xué)習(xí)人工智能。


          圖像處理的6個(gè)步驟:


          步驟 1:加載依賴項(xiàng)


          我們將加載一些必需的庫(kù),例如:Numpy, pandas, cv2, skimage, PIL and Matplotlib。在 Google colab 上加載依賴項(xiàng):

          import numpy as npimport pandas as pdimport cv2 as cvfrom google.colab.patches import cv2_imshow    from skimage import iofrom PIL import Imageimport matplotlib.pylab as plt


          第 2 步:從 URL 讀取圖像


          在這一步中,我們將從 URL 中讀取圖像,并在 google colab 中使用 OpenCV 顯示它們,我們將使用以下代碼來(lái)顯示圖像。


          讓我們?cè)?Google colab 上嘗試一下,這些是圖像的 URL。

          urls = ["https://iiif.lib.ncsu.edu/iiif/0052574/full/800,/0/default.jpg","https://iiif.lib.ncsu.edu/iiif/0016007/full/800,/0/default.jpg","https://placekitten.com/800/571"]for url in urls:image = io.imread(url)image_2 = cv.cvtColor(image, cv.COLOR_BGR2RGB)final_frame = cv.hconcat((image, image_2))cv2_imshow(final_frame)print('\n')



          運(yùn)行上面給出的代碼后,上面顯示的圖像將作為結(jié)果顯示。請(qǐng)注意讀取 RGB 和 BGR 格式的圖像時(shí)的區(qū)別,OpenCV 的默認(rèn)輸入顏色通道采用 BGR 格式。


          第 3 步:圖像輪廓和直方圖


          我們將使用以下代碼:

          print(image.dtype)print(image.shape[0])print(image.shape[1])print(image.shape[2])

          然后檢查圖像矩陣數(shù)據(jù)類型,圖像的高度,圖像的寬度,圖像的通道數(shù)?,F(xiàn)在讓我們顯示彩色圖像中所有像素的直方圖。

          plt.hist(image.ravel(),bins = 256, range = [0,256])plt.show()

          顯示R、G、B 通道的直方圖。我們可以觀察到,綠色通道在 255 中有很多像素,這表示圖像中的白色塊。

          color = ('b','g','r')for i, col in enumerate(color):histr = cv.calcHist([image],[i],None,[256],[0,256])plt.plot(histr,color = col)plt.xlim([0,256])plt.show()

          現(xiàn)在讓我們嘗試制作灰度圖像,在這里,我們成功地得到了一只貓的灰色圖像,繪制灰度圖像的直方圖。

          gray_image = cv.cvtColor(image, cv.COLOR_BGR2GRAY)cv2_imshow(gray_image)

          我們可以觀察到圖像直方圖的頻率降低了彩色圖像直方圖的 1/3。

          plt.hist(gray_image.ravel(),bins = 256, range = [0, 256])plt.show()

          第 4 步:灰度變換和直方圖均衡化


          灰度變換提供了一些對(duì)灰度圖像進(jìn)行數(shù)學(xué)變換的示例。

          im2 = 255 - gray_imagecv2_imshow(im2)

          這是灰度圖像的逆運(yùn)算,我們可以看到明亮的像素變暗,而暗的像素變亮。

          im3 = (100.0/255)*gray_image + 100cv2_imshow(im3)

          在添加常量后,對(duì)圖像進(jìn)行另一個(gè)變換。所有的像素都變得更亮,并且產(chǎn)生了圖像的模糊效果。在這一步驟之后,灰度圖像的亮度級(jí)別會(huì)降低。


          第 5 步:灰度圖像的傅立葉變換


          傅里葉變換用于找到圖像的頻域,讓我們繼續(xù)使用一段代碼,它通過(guò)內(nèi)核大小為 10 的高斯濾波器對(duì)灰度圖像進(jìn)行模糊,并將圖像變換到頻域。

          imBlur = cv.blur(gray_image,(5,5))f = np.fft.fft2(imBlur)fshift = np.fft.fftshift(f)magnitude_spectrum = 30*np.log(np.abs(fshift))plt.subplot(121),plt.imshow(imBlur, cmap = 'gray')plt.title('Input Image'), plt.xticks([]), plt.yticks([])plt.subplot(122),plt.imshow(magnitude_spectrum, cmap = 'gray')plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])plt.show()

          步驟 6:通過(guò) FFT 中的高通濾波查找邊緣


          最后一步演示如何使用高通濾波器去除低頻分量,從而生成包含邊緣的銳化圖像。

          rows, cols = imBlur.shapecrow, ccol = round(rows/2) , round(cols/2)fshift[crow-10:crow+10, ccol-10:ccol+10] = 0f_ishift = np.fft.ifftshift(fshift)img_back = np.fft.ifft2(f_ishift)img_back = np.abs(img_back)plt.figure(figsize=([20, 20]))plt.subplot(131),plt.imshow(imBlur, cmap = 'gray')plt.title('Input Image'), plt.xticks([]), plt.yticks([])plt.subplot(132),plt.imshow(img_back, cmap = 'gray')plt.title('Image after HPF'), plt.xticks([]), plt.yticks([])plt.subplot(133),plt.imshow(img_back)plt.title('Result in JET'), plt.xticks([]), plt.yticks([])plt.show()



          好消息,小白學(xué)視覺(jué)團(tuán)隊(duì)的知識(shí)星球開(kāi)通啦,為了感謝大家的支持與厚愛(ài),團(tuán)隊(duì)決定將價(jià)值149元的知識(shí)星球現(xiàn)時(shí)免費(fèi)加入。各位小伙伴們要抓住機(jī)會(huì)哦!


          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 70
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  日韩免费V| 大陆操屁屁视频在线观看 | 91熟女乱伦 | 午夜精品视频在线观看 | 天天色,天天干,天天 |