免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

使用Opencv怎么實(shí)現(xiàn)一個(gè)圖片油畫特效-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用Opencv怎么實(shí)現(xiàn)一個(gè)圖片油畫特效,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站從2013年成立,先為昌江黎族等服務(wù)建站,昌江黎族等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為昌江黎族企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

代碼實(shí)現(xiàn)

首先導(dǎo)入包:

import numpy as np
import cv2

讀取原圖,得到原圖的寬高信息:

img=cv2.imread('ziliao/image00.JPG',1)
imInfo=img.shape
height=imInfo[0]
width=imInfo[1]

完成彩色圖片向灰度圖片的轉(zhuǎn)化:

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
'''該函數(shù)用于顏色的轉(zhuǎn)換,第一個(gè)參數(shù)為待處理的原圖,
第二個(gè)參數(shù)表示轉(zhuǎn)換的顏色'''

本實(shí)例中將圖片分割為若干個(gè)8×8的小方塊,將0-255的灰度值分為8個(gè)等級(jí),下面定義了一個(gè)數(shù)組array1來(lái)裝載這8個(gè)等級(jí)中的像素個(gè)數(shù),然后找出每個(gè)小方塊中包含最多像素的等級(jí),如下:

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst=np.zeros((height,width,3),np.uint8)
for i in range(4,height-4):
  for j in range(4,width-4):
    array1 = np.zeros(8, np.uint8) #用于存儲(chǔ)每個(gè)灰度等級(jí)的像素個(gè)數(shù)
    for m in range(-4, 4): #計(jì)算8*8小方塊中的array1的值
      for n in range(-4,4):
        p1 = int(gray[i + m, j + n] / 32) #除以32得到該點(diǎn)應(yīng)該位于第幾個(gè)灰度等級(jí)
        array1[p1] = array1[p1] + 1
    currentMax = array1[0]
    l = 0

    for k in range(0,8): #找到像素點(diǎn)最多的那個(gè)灰度等級(jí)
      if currentMax<array1[k]:
        currentMax = array1[k]
        l = k
     #以下方法是簡(jiǎn)化處理了,也可以按前文所說(shuō)的那樣求均值處理
    for m in range(-4,4):
      for n in range(-4,4):
        if gray[i+m,j+n]>=(l*32) and gray[i+m,j+n]<=((l+1)*32):
          (b,g,r) = img[i+m,j+n]
    dst[i,j] = (b,g,r)
cv2.imshow('img',img)
cv2.imshow('dst',dst)
cv2.waitKey(0)

三、運(yùn)行結(jié)果

左為原圖

使用Opencv怎么實(shí)現(xiàn)一個(gè)圖片油畫特效

四、完整代碼

import numpy as np
import cv2

img=cv2.imread('ziliao/image00.png',1)
imInfo=img.shape
height=imInfo[0]
width=imInfo[1]

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst=np.zeros((height,width,3),np.uint8)
for i in range(4,height-4):
  for j in range(4,width-4):
    array1 = np.zeros(8, np.uint8)
    for m in range(-4, 4):
      for n in range(-4,4):
        p1 = int(gray[i + m, j + n] / 32)
        array1[p1] = array1[p1] + 1
    currentMax = array1[0]
    l = 0

    for k in range(0,8):
      if currentMax<array1[k]:
        currentMax = array1[k]
        l = k
    for m in range(-4,4):
      for n in range(-4,4):
        if gray[i+m,j+n]>=(l*32) and gray[i+m,j+n]<=((l+1)*32):
          (b,g,r) = img[i+m,j+n]
    dst[i,j] = (b,g,r)
cv2.imshow('img',img)
cv2.imshow('dst',dst)
cv2.waitKey(0)

上述就是小編為大家分享的使用Opencv怎么實(shí)現(xiàn)一個(gè)圖片油畫特效了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:使用Opencv怎么實(shí)現(xiàn)一個(gè)圖片油畫特效-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://m.newbst.com/article10/hjggo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈網(wǎng)站排名建站公司網(wǎng)站策劃標(biāo)簽優(yōu)化做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管