浮雕效果

原理:相邻像素值相减(或当前像素值减去右下的像素值),然后加上128,得到中间值灰色

因为相邻点基本上都是rgb比较相似的,所以相似的点的处理结果基本上临近128,而不相近颜色的值则偏离128较远,所以可以得到一个类似于浮雕的图像。

新的像素值 = 旧的像素值 - (旧的像素值+1) + 128,如果当前像素值大于255则赋值为255,小于0则赋值为0。

import cv2
import numpy as np
import math
import random
img = cv2.imread('D:/pythonob/imageinpaint/img/zidan.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst = np.zeros((height,width,1),np.uint8)
for i in range(0,height):
for j in range(0,width-1):
g0 = int(gray[i,j])
g1 = int(gray[i,j+1])
newP = g0 - g1 + 150
if newP>255:
newP = 255
if newP<0:
newP = 0
dst[i,j] = newP
cv2.imshow('fudiao',dst)
cv2.waitKey(0)
效果图:

原文地址:https://www.cnblogs.com/cxxBoo/p/11459839.html