Opencv怎么实现图像卡通化效果
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,本文小编为大家详细介绍"Opencv怎么实现图像卡通化效果",内容详细,步骤清晰,细节处理妥当,希望这篇"Opencv怎么实现图像卡通化效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2025年11月18日Opencv怎么实现图像卡通化效果
本文小编为大家详细介绍"Opencv怎么实现图像卡通化效果",内容详细,步骤清晰,细节处理妥当,希望这篇"Opencv怎么实现图像卡通化效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
铅笔素描效果
将输入图像灰度化后及逆行高斯滤波,其中由于高斯滤波服从正态分布,核数越大、越模糊。最后一步是将原始灰度图像除以模糊后的灰度图像。这样可以得出两个图像中每个像素之间的变化率。模糊效果越强,每个像素的值相对于其原点的变化就越大,因此,它使我们的铅笔素描更加清晰。其中第一幅图核数为25,第二幅图核数为75。(领会除法运用在此处的妙处)
import cv2img=cv2.imread('bird.jpg')cv2.imshow('bird',img)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# Blur the image using Gaussian Blur#高斯核服从正态分布,核数越大,越模糊gray_blur = cv2.GaussianBlur(gray, (75, 75), 0)# Convert the image into pencil sketchcartoon = cv2.divide(gray, gray_blur, scale=250.0)cv2.imshow('cartoon.jpg',cartoon)cv2.waitKey()cv2.destroyAllWindows()国画效果
国画效果:锐化图像,平滑颜色以及增强边缘效果。
1.将原图像进行中值滤波后进行自适应均值滤波后的边缘图像。
2.将原RGB图像进行基于细节增强滤波器的锐化下图1。(当把细节增强滤波器换为双边滤波,显得更加平滑,下图2)
3.将锐化后的图像与边缘图像进行按位与得到最终效果图。
import cv2img=cv2.imread('bird.jpg')cv2.imshow('bird',img)#convert the image into grayscale imagegray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#Blur the grayscale image with median blur中值滤波gray_blur = cv2.medianBlur(gray, 3)#Apply adaptive thresholding to detect edges检测图像边缘edges = cv2.adaptiveThreshold(gray_blur, 255, cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY, 9, 9)#自适应均值滤波#Sharpen the image锐化图像color = cv2.detailEnhance(img, sigma_s=5, sigma_r=0.5)cv2.imshow('color',color)#细节增强函数 sigma_s控制着邻域的大小,该邻域的大小将被加权以替换图像中的像素值。值越高,邻域越大。这样可以使图像更平滑#:如果要在平滑图像时保留边缘,这很重要。较小的值只会产生非常相似的颜色进行平均(即平滑),而相差很大的颜色将保持不变#Merge the colors of same images using "edges" as a maskcartoon = cv2.bitwise_and(color, color, mask=edges)cv2.imshow('cartoon',cartoon)cv2.waitKey()cv2.destroyAllWindows()抽象效果
拉普拉斯滤波器:通过对象内部的灰度级和图像背景强度来突出对象的边缘
import cv2img=cv2.imread('bird.jpg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.imshow('img.jpg', img )gray = cv2.medianBlur(gray, 3)edges = cv2.Laplacian(gray, -1, ksize=5)edges_inv = 255 - edgesdummy, cartoon = cv2.threshold(edges_inv, 0, 255, cv2.THRESH_BINARY)cv2.imshow('cartoon.jpg', cartoon )cv2.waitKey()cv2.destroyAllWindows()读到这里,这篇"Opencv怎么实现图像卡通化效果"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
图像
效果
边缘
平滑
核数
灰度
细节
锐化
卡通
卡通化
像素
文章
滤波器
邻域
颜色
高斯
下图
中值
内容
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业怎样实现网络安全
工程技术引文版数据库可查吗
山西新一代软件开发参考价格
服务器系统7.6是linux吗
openwrt 监控服务器
软件开发要学什么编程
dsn服务器是什么
数据库维护文本
国内服务器安全性排名
网络安全闯关秀
数据库不重复添加什么约束
支付宝网络技术有限公司海南
江湖悠悠换服务器
海南师范大学网络安全调剂
泰州云服务器租用
天津特种网络技术服务
信息网络技术开发
软件开发烂尾人物
软件开发项目如何任务拆解
火锅店取名软件开发
电脑网络安全检测工具
数据库中表的内存怎么删除
网络技术服务主要有什么服务
浪潮服务器磁盘无法识别
钰盾网络安全
云服务器合同需要交印花税吗
遵义市鑫吉网络技术服务有限公司
怎么样保证服务器数据安全
软件开发哪里做
湖南九耕网络技术有限公司