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

          實(shí)操教程|一個簡單方法識別毛玻璃、高斯模糊

          共 2227字,需瀏覽 5分鐘

           ·

          2021-04-29 01:54

          ↑ 點(diǎn)擊藍(lán)字 關(guān)注極市平臺

          作者丨晟沚
          來源丨機(jī)器學(xué)習(xí)算法工程師
          編輯丨極市平臺

          極市導(dǎo)讀

           

          本文主要推薦一種簡單的方法識別帶有毛玻璃、高斯模糊等效果的圖片。 >>加入極市CV技術(shù)交流群,走在計算機(jī)視覺的最前沿

          01 毛玻璃效果

          毛玻璃效果的原理,即遍歷每一個像素,隨機(jī)選取這個像素周圍的某一個像素,替換當(dāng)前像素。可以使用opencv實(shí)現(xiàn),代碼如下:

          #coding:utf-8import cv2import numpy as npimport random
          img = cv2.imread('test.jpg',1)shape = img.shapeh = shape[0]w = shape[1]dst = np.zeros((h,w,3),np.uint8)mm = 8 for m in range(h-mm): for n in range(w-mm): index = int(random.random()*8) (b,g,r) = img[m+index,n+index] dst[m,n] = (b,g,r)cv2.imwrite("result.jpg", dst)

          整個過程即選擇周圍像素的范圍距離最大為8像素,運(yùn)行以上代碼前后如下圖:

          02 識別毛玻璃等模糊效果

          接下來介紹如何使用OpenCV、Python和Laplacian算子計算圖像中的模糊量。

          如果有信號處理方面的背景,首先要考慮的方法是計算圖像的快速傅里葉變換,然后檢查低頻和高頻的分布:如果圖像只有少量的高頻,那么圖像就會被認(rèn)為是模糊的。然而,定義什么算低數(shù)量的高頻或者什么是高數(shù)量的高頻是相當(dāng)困難的。

          本文介紹的方法可以計算一個單一的浮點(diǎn)值來表示一個給定圖像的模糊程度,只需采取一個圖像的單一通道(大概灰度)和卷積它與以下3 x 3的內(nèi)核,然后取響應(yīng)的方差(即標(biāo)準(zhǔn)差的平方)。如果方差低于預(yù)先定義的閾值,則認(rèn)為圖像模糊;否則,圖像不會模糊。方法很簡單,如下一行代碼就可

          cv2.Laplacian(image, cv2.CV_64F).var()

          這種方法有效的原因是由于Laplacian算子本身的定義,它用于測量圖像的二階導(dǎo)數(shù)。拉普拉斯算子突出顯示圖像中包含快速梯度變化的區(qū)域,很像Sobel和Scharr算子。和這些算子一樣,Laplacian也經(jīng)常用于邊緣檢測。這里的假設(shè)是,如果一幅圖像的方差較高,那么就說明圖像有廣泛的響應(yīng),包括類邊和非類邊,這是一幅正常的聚焦圖像的代表。但如果方差很低,那么就會有很小的響應(yīng)擴(kuò)散,這表明圖像中幾乎沒有邊緣。而圖像越模糊,邊緣就越少。所以可以用來檢測是否模糊。

          顯然,這里的關(guān)鍵是設(shè)置正確的閾值,而閾值的設(shè)置與應(yīng)用到的圖像集相關(guān)。如果閾值過低,你就會錯誤地將原本不模糊的圖像標(biāo)記為模糊。如果閾值過高,那么實(shí)際上模糊的圖像將不會被標(biāo)記為模糊。這種方法只有在非常穩(wěn)定的圖像集(同一類型)中應(yīng)用良好。

          具體實(shí)現(xiàn)代碼如下,定義variance_of_laplacian函數(shù)。這個方法將我們想要計算焦距的圖像(假設(shè)為單個通道,例如灰度圖像)作為參數(shù), 先讀取輸入圖像圖像,再將其轉(zhuǎn)換為灰度,然后使用OpenCV應(yīng)用模糊檢測,通過自己設(shè)定的閾值即可區(qū)分出模糊圖片和不模糊圖片。

          import cv2def variance_of_laplacian(image):  return cv2.Laplacian(image, cv2.CV_64F).var()
          imagePath = “test.jpg”image = cv2.imread(imagePath)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)fm = variance_of_laplacian(gray)if fm < 100: print("Blurry")

          如果覺得有用,就請分享到朋友圈吧!

          △點(diǎn)擊卡片關(guān)注極市平臺,獲取最新CV干貨


          推薦閱讀


          OpenVINO部署Mask-RCNN實(shí)例分割網(wǎng)絡(luò)

          2021-03-14

          實(shí)操教程:簡簡單單用OpenCV讓一只小貓咪變成奶兇奶兇的科技貓

          2021-03-08

          超快速的端到端實(shí)例分割模型,手把手教你用opencv部署Yolact

          2021-03-05



          CV技術(shù)社群邀請函 #

          △長按添加極市小助手
          添加極市小助手微信(ID : cvmart2)

          備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)


          即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群


          每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~



          覺得有用麻煩給個在看啦~  
          瀏覽 65
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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片在线观看视频 | 影音先锋女人aV鲁色资源网站 | 火爆全网嫖妓达人金先生约战极品S空 | 久久r这里只有精品 | 销魂少妇一二三区 |