OpenCV:油画特效
油画特效的实现思路主要分以下五步:
- 将图片转换为灰色图片
- 将图片分割成小方块,例如7*7,10*10等
- 将像素值划分成若干等级,例如划分成4个等级,则0~63为等级一,64~127为等级二,128~191为等级三,192~255为等级四
- 将步骤2中每个小方块,计算其内各等级的像素点个数
- 使用统计出的平均值替换原像素值
import cv2
import numpy as npimg = cv2.imread('test.png',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[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):arr = np.zeros(8,np.uint8)for m in range(-4,4): # 步骤二 ,将图片划分为8*8的方块for n in range(-4,4):p1 = int(gray[i+m,j+n]/32) # 步骤三,将像素值划分为8个等级,即每个等级32个值arr[p1] += 1 # 步骤四,统计每个等级像素点个数currentMax = arr[0]l = 0for k in range(8): if currentMax < arr[k]:currentMax = arr[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('image',dst)
cv2.waitKey(0)
展示效果如下:
Tips:由于计算较慢,同学们在试验的时候,可以挑小一点的图片!
OpenCV:油画特效相关推荐
- opencv中图像处理油画特效
opencv中图像处理油画特效 import cv2 import numpy as np import random import mathimg = cv2.imread(r"C:\Us ...
- Opencv实现图片的油画特效
opencv实现油画特效 一.方法原理(步骤) 二.代码实现 三.运行结果 四.完整代码 一.方法原理(步骤) 1.将彩色图片转换为灰度图片(调用opencv的cvtColor()方法): 2.将图片 ...
- opencv图像特效之油画特效
#油画特效 # 1 gray 2 分割成x*x的小方块 3 0-255划分成几个等级, 将2步结果映射到这个等级上 import cv2 import numpy as np img = cv2.im ...
- OpenCV入门(19):图片的油画特效
import cv2 import numpy as npimg = cv2.imread("./mm1.jpg",1) cv2.imshow("src",im ...
- OpenCV油画效果
OpenCV油画效果 油画效果 介绍 代码 结果 油画效果 介绍 图像在颜色空间默认颜色空间COLOR_BGR2GRAY中转换.对于图像中的每个像素,程序都会计算尺寸为2 * size + 1的相邻像 ...
- PS油画特效插件AKVIS Artwork for mac
AKVIS ArtWork Plugin for Mac是一款运行在Mac平台上的PS油画特效插件,AKVIS ArtWork Plugin Mac版可以将照片自动转换为绘画,提供油画.水彩画.水粉画 ...
- 油画特效软件akvis artwork破解版安装及破解教程
AKVIS ArtWork for Mac是Mac平台上一款优质的照片油画特效软件,akvis artwork破解版可以独立运行,也可作为Photoshop等照片编辑器的插件来使用,akvis art ...
- 【Unity3D Shader编程】之十 深入理解Unity5中的Standard Shader(二)屏幕油画特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/49719247 作者:毛星云(浅 ...
- Unity3D Shader编程】之十 深入理解Unity5中的Standard Shader(二)屏幕油画特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/49719247 作者:毛星云(浅 ...
最新文章
- c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题
- day03-字符编码与转换
- Pod资源管理(pod容器分类,k8s添加harbor私库,上传下载私库)
- 怎么才能点一下excel中的超链接就显示出图片?_Excel如何批量建立超链接,搭建工作台...
- python 北上资金_如何查看北向资金? 什么是北向资金 在股市里面,南代表的是HK,北代表的是大陆。北向 = 从南向北流动,那么北向资金就很好理解了,就是HK的... - 雪球...
- Ubuntu常用终端命令
- 你知道strong和b;i和em的区别吗?
- Unity3d+Gameframework:entity实体代码分析,基于StarForce
- 中专高一第一学期计算机应用期中基础考题,职业中专第一学期计算机应用基础WIN7和Word2010版期末考试题...
- Android SIGABRT的可能原因及开启手机Log日志
- Byte Pair Encoding
- 使用CAPL 内置函数 memcpy 和memcmp 处理数组的若干问题
- 单模光电转换器怎么接_光纤收发器(网桥,接口转换器),单模光纤收发器
- linux 查询挂载信息,linux 查询挂载信息
- 登录逻辑漏洞整理集合
- 初十hu测 T3.deep(点分治)
- IT痴汉的工作现状33-HTML5的春天是原生App的冬天?
- java 项目打包jar 的配置(springboot )
- 云计算机平台的特性,云平台对比传统平台特点分析
- 创维电视天赐系统成功安装第三方应用教程