Opencv怎么实现图像卡通化效果
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文小编为大家详细介绍"Opencv怎么实现图像卡通化效果",内容详细,步骤清晰,细节处理妥当,希望这篇"Opencv怎么实现图像卡通化效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
西安纸贵互联网科技有限公司
北京路客互联网科技有限公司
金融科技 互联网金融
猫创互联网科技
联恩商钥互联网科技有限公司
江苏南京365互联网科技
深圳前海聚择互联网科技有限公司
深圳国际航运科技和互联网
移动互联网科技股
华服互联网科技官网
苏州铭阳互联网科技有限公司
搜狐科技互联网
互联网科技和信息
科技大学互联网
互联网金融科技名词解释
广州智享互联网科技
互联网科技的前景
互联网科技大佬云集
互联网领先科技成果宣传视频
青岛互联网科技园
互联网金融科技
互联网络科技
互联网巨头反垄断金融科技
科技与互联网发展
互联网科技咨询
搜狐科技互联网
互联网时代的科技公司
半导体是互联网高科技吗
绵阳真晨互联网科技有限公司
盐城市攀科互联网科技有限公司