Opencv怎么实现图像卡通化效果
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本文小编为大家详细介绍"Opencv怎么实现图像卡通化效果",内容详细,步骤清晰,细节处理妥当,希望这篇"Opencv怎么实现图像卡通化效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
电信诈骗 护航网络安全
广州大蕃鼠网络技术直播
cf匹配服务器全是乱码
网络技术公司招聘文案范文
白云网络安全运维找哪家
软件开发人员转hris
网络技术工程师学习
软件开发在线教育平台
大学生网络安全的诸多问题
电力软件开发有前途吗
电脑怎么设置无线网络安全
战地五服务器怎么加
网络安全防护板块有哪些股
阿里云 arm 云服务器
点击统计数据丢失数据库
大连软件开发业
网络安全 期末考试
博途1500怎么连接串口服务器
win7 数据库2005
安徽参考软件开发优势
软件开发 concept
事业单位软件开发报价
存储服务器能当群晖么
数据库状态一般用什么类型
电信网络安全标语
云桌面服务器厂家排名
天象网络技术公司免费培训
软件开发期间的进项税
游戏软件开发属于什么经营范围
数据库监控哪个好