c2c网站建设费用福建省建设厅网站人员

news/2025/9/30 13:41:57/文章来源:
c2c网站建设费用,福建省建设厅网站人员,wordpress百度云盘,开发板可以做什么图像到卡通 一、说明 在当今世界#xff0c;我们被图像和视频所包围。从社交媒体到广告#xff0c;图像已成为一种强大的交流媒介。但是你有没有想过#xff0c;如果你能把你的照片变成卡通会发生什么#xff1f;想象一下#xff0c;为您最喜欢的照片创建动画版本#xf… 图像到卡通 一、说明         在当今世界我们被图像和视频所包围。从社交媒体到广告图像已成为一种强大的交流媒介。但是你有没有想过如果你能把你的照片变成卡通会发生什么想象一下为您最喜欢的照片创建动画版本或者将肖像转换为异想天开的插图。         在本文中我们将探讨如何使用 Python 中的 OpenCV 库将图像转换为卡通。OpenCV 是一个功能强大的计算机视觉库为图像和视频处理提供了广泛的功能包括边缘检测、颜色转换和过滤。我们将使用这些工具在给定的图像上创建卡通效果。         为此我们将首先导入必要的模块并加载输入图像。接下来我们将对图像应用一系列转换包括边缘检测、颜色量化和双边滤波。最后我们将结合这些转换在输入图像上创建卡通效果。在整篇文章中我们将提供有关如何使用 OpenCV 实现每个转换的分步说明。在本文结束时您将清楚地了解如何使用 OpenCV 在任何输入图像上创建卡通效果。因此让我们深入了解如何使用OpenCV将图像转换为卡通 二、导入必要的库  import cv2 import numpy as np import os 2.1 代码说明 import cv2导入 OpenCV 库该库为图像和视频处理提供了广泛的功能。import numpy as np导入 NumPy 库这是一个流行的库用于在 Python 中处理数组和矩阵。import os导入操作系统模块该模块提供了一种与文件系统交互的方法。 总的来说这段代码导入了在 Python 中使用 OpenCV 执行图像处理的必要模块。 2.2 在 Python 中使用 OpenCV 显示输入图像 img cv2.imread(original_picture.jpg) cv2.imshow(original, img) cv2.waitKey(0) cv2.destroyAllWindows() 原始图片 2.3 代码说明 cv2.imread(original_picture.jpg)将名为“original_picture.jpg”的输入图像加载到名为 的变量中。这是您想要的图片的名称。imgcv2.imshow(original, img) 在标题为“原始”的窗口中显示输入图像。cv2.waitKey(0)等待按键。参数 0 表示程序将无限期等待直到按下某个键。cv2.destroyAllWindows() 关闭所有打开的窗口。 三、使用 K 均值聚类进行颜色量化 def color_quantization(img, k): # Transform the imagedata np.float32(img).reshape((-1, 3))# Determine criteriacriteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 20, 0.001)# Implementing K-Meansret, label, center cv2.kmeans(data, k, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)center np.uint8(center)result center[label.flatten()]result result.reshape(img.shape)return result 3.1 功能说明 该函数采用两个参数 — 输入图像和聚类数。imgk输入图像首先使用 NumPy 库转换为像素值的二维数组。为 K-Means 聚类分析算法确定一组条件包括聚类中心的最大迭代次数和最小变化。K 均值聚类分析算法使用 cv2.kmeans 函数应用于数据具有指定数量的聚类和条件。如果变量发生变化该函数将生成具有不同数量颜色簇的新量化图像。较小的值 将导致具有较少颜色的量化图像而较大的值 将导致具有更多颜色的量化图像。kkk生成的聚类中心使用 NumPy 函数转换为 8 位整数。np.uint8()原始图像被展平为像素值的一维数组每个像素被分配到其最近的聚类中心。然后将生成的像素值数组重新塑造回原始输入图像的形状。生成的量化图像作为函数的输出返回。 3.2 创建边缘遮罩 def edge_mask(img, line_size, blur_value):gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)gray_blur cv2.medianBlur(gray, blur_value)edges cv2.adaptiveThreshold(gray_blur, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, line_size, blur_value)return edges 3.3 功能说明 该函数有三个参数——输入图像、蒙版中线条的大小和应用于灰度图像的模糊程度。如果变量发生变化掩码中线条的大小也会相应更改。较小的值将导致更细的线条而较大的值将导致较粗的线条。imgline_sizeblur_valueline_size首先使用该函数将输入图像转换为灰度。cv2.cvtColor()然后使用具有指定 .如果变量发生变化应用于灰度图像的模糊级别将发生变化。较小的值将导致较少的模糊而较大的值将导致更多的模糊。cv2.medianBlur()blur_valueblur_value通过使用该功能对模糊的灰度图像应用自适应阈值来创建边缘遮罩。这种自适应阈值方法根据每个像素周围局部邻域中像素值的平均值计算每个像素的阈值。cv2.adaptiveThreshold()生成的边缘掩码作为函数的输出返回。 四、从图像生成铅笔素描 line_size 7 blur_value 7edges edge_mask(img, line_size, blur_value) cv2.imwrite(pencil_sketch.jpg, edges) cv2.imshow(pencil sketch, edges) cv2.waitKey(0) cv2.destroyAllWindows() 铅笔素描 4.1 代码说明 代码首先将 和 的值设置为 7。如果 和 的值发生变化则生成的铅笔素描将受到影响。较小的 值将导致线条越细而较大的值将导致线条变粗。同样较小的 值将导致较少的模糊而较大的值将导致更多的模糊这可能会影响铅笔草图的整体外观。line_sizeblur_valueline_sizeblur_valueline_sizeblur_value使用具有指定和 的函数从输入图像生成边缘掩码。imgedge_mask()line_sizeblur_value生成的边缘遮罩使用该函数保存为名为“pencil_sketch.jpg”的新图像文件。cv2.imwrite()然后使用该函数显示铅笔素描图像。cv2.imshow()程序等待使用该函数的用户按键。cv2.waitKey(0)最后使用该功能关闭所有打开的窗口。cv2.destroyAllWindows() 4.2 从图像生成卡通 total_color 9 img color_quantization(img, total_color) cv2.imwrite(cartoonize.jpg, img) cv2.imshow(Cartoonize, img) cv2.waitKey(0) cv2.destroyAllWindows() 卡通化图片 4.3 代码说明 代码首先将值设置为 9。如果值发生变化则生成的卡通图像将受到影响。较小的 值将导致较少的颜色而较大的值将导致更多的颜色这可能会影响卡通图像的整体外观。total_colortotal_colortotal_color调用该函数以将输入图像中的颜色数减少到指定的 。color_quantization()imgtotal_color生成的图像被保存为一个名为“cartoonize.jpg”的新图像文件使用该功能。cv2.imwrite()然后使用该功能显示卡通图像。cv2.imshow()程序等待使用该函数的用户按键。cv2.waitKey(0)最后使用该功能关闭所有打开的窗口。cv2.destroyAllWindows() 五、对图像应用双边滤镜 bilateral cv2.bilateralFilter(img, 15, 75, 75) # Save the output. cv2.imwrite(blur.jpg, bilateral) img cv2.imread(blur.jpg) cv2.imshow(Blur, img) cv2.waitKey(0) cv2.destroyAllWindows() 双边滤波 5.1 代码说明 代码首先使用该函数将双边筛选器应用于输入图像。筛选器大小设置为 15西格玛颜色和西格玛空间的值均设置为 75。imgcv2.bilateralFilter()更改双边滤镜的内核大小、西格玛颜色和西格玛空间的值将影响应用于图像的模糊级别。较小的内核大小和 sigma 值将导致较少的模糊而较大的值将导致更多的模糊。更改这些值可能会更改生成的模糊图像的整体外观。生成的模糊图像被保存为一个名为“blur.jpg”的新图像文件使用该功能。cv2.imwrite()然后使用该函数将模糊的图像加载回内存并分配给变量。cv2.imread()img 5.2 总输出 5.3 另一种方式 import cv2 import numpy as np# Load the input image img cv2.imread(input_image.jpg)# Apply bilateral filter to smooth the image img_smooth cv2.bilateralFilter(img, 9, 75, 75)# Convert the image to grayscale gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# Apply edge detection to the grayscale image edges cv2.Canny(gray, 100, 200)# Apply color quantization to the smoothed image img_quant cv2.cvtColor(img_smooth, cv2.COLOR_BGR2RGB) Z img_quant.reshape((-1,3)) Z np.float32(Z) criteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0) K 8 ret,label,centercv2.kmeans(Z,K,None,criteria,10,cv2.KMEANS_RANDOM_CENTERS) center np.uint8(center) res center[label.flatten()] res2 res.reshape((img_quant.shape))# Combine the edges and color quantization to create the cartoon effect cartoon cv2.bitwise_and(res2, res2, maskedges)# Display the output image and save it cv2.imshow(Cartoon, cartoon) cv2.waitKey(0) cv2.destroyAllWindows()         总之使用 OpenCV 将图像转换为卡通是一种有趣且创造性的方式可以为您的照片赋予新的生命。在本文中我们讨论了如何使用 OpenCV 通过应用各种图像处理技术如颜色量化、边缘检测和双边过滤将图像转换为卡通。通过结合这些技术我们能够从普通照片中制作出风格化的卡通图像。         虽然本文中提供的代码是一个很好的起点但有很多方法可以自定义转换过程以获得不同的结果。尝试不同的参数值或应用其他图像处理技术有助于创建独特且个性化的卡通风格图像。有了一点创造力和一些图像处理技术的知识可能性是无穷无尽的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机网站建设流程国际新闻最近新闻军事

Zabbix核心组件主要是Agent和Server,其中Agent主要负责采集数据并通过主动或者被动的方式采集数据发送到Server/Proxy,除此之外,为了扩展监控项,Agent还支持执行自定义脚本。 作者:艺术生的运维路来源:今日…

浙江建设集团网站手机网站建设找哪家

在内核编程中字符串有两种格式ANSI_STRING与UNICODE_STRING,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下ANSI_STRING代表的类型是char *也就是ANSI多字节模式的字符串,而UNICODE_STRING则代…

廉政建设网评文章网站直播网站app下载

介绍 假设现有外网笔记本、云服务器、内网工作站三台设备,希望使用外网笔记本通过云服务器转发,访问内网工作站;这里使用frp进行内网穿透。 云服务器端配置 登录腾讯轻量型云服务器控制台,开放转发端口、bind_port以及deshboad…

杭州设计门户网站沧州地区做网站

背景 jenkins 是使用 docker 方式部署的, 在 jenkins中又配置了 docker 的命令, 使用的宿主机的 docker 环境, 在jenkins 中执行 docker 相关命令的时候报错 jenkinse0e7b943b6e4:/$ docker login -u admin -p Harbor12345 172.16.100.15:80 WARNING! Using --password via t…

iis 修改默认网站手机端下载

返回:SQLite—系列文章目录 上一篇:从 SQLite 3.5.9 迁移到 3.6.0(二十一) 下一篇:SQLite—系列文章目录 引言: SQLite拥有别人无法比拟的装机量,究竟什么成就了SQLite呢,本…

ZyperWin++使用教程!让Windows更丝滑!c盘飘红一键搞定!ZyperWin++解决系统优化、Office安装和系统激活

软件介绍 你的电脑是不是也开机越来越慢,用久了C盘就飘红,还时不时有些小毛病?本期给大家分享一款非常轻便的系统优化工具“ZyperWin++”,软件大小仅5mb,并且还是github的开源软件,免费无毒无广告!ZyperWin++ 就…

完整教程:大模型浪潮下的“冷思考”:计算机视觉的变局与出路

完整教程:大模型浪潮下的“冷思考”:计算机视觉的变局与出路2025-09-30 13:17 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impor…

网站开发的人李海涛建设世界一流企业

switch中可以为以下几种类型: byte、short、int注意没有longchar、string(jdk 1.7版本之后的 )枚举类型 Java 7之前,switch后面的括号里面只能放int类型的值,注意是只能放int类型,但是放byte,short,char类…

企业微信网站开发文档郑州做网站哪家专业

在这篇文章中,我们将使用iloc和loc来处理数据。更具体地说,我们将通过iloc和loc例子来学习切片和索引。一旦我们将一个数据集加载为Pandas dataframe,我们通常希望根据某些条件开始访问该数据的特定部分。例如,如果我们的数据集包…

一文详解决策树:ID3与C4.5算法 - 详解

一文详解决策树:ID3与C4.5算法 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

玳瑁的嵌入式日记---0928(ARM--I2C) - 教程

玳瑁的嵌入式日记---0928(ARM--I2C) - 教程2025-09-30 13:05 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

三更app下载网站铺铺旺网站做多久了

设备坐标通俗的讲就是我们看到的我们的视图坐标,它包含屏幕坐标、窗体坐标和客户区坐标,他们都是以窗体的左上角为准的坐标,并且是从左到右,从上到下的坐标 简单总结一下他的特点:x坐标是从左到右,y坐标是从…

关于处理大批量数据下载和查询时,怎么进行限流和熔断处理(AI)

摘要:限流和熔断是保障大批量数据场景下系统稳定的关键策略。限流通过固定窗口、滑动窗口、漏桶/令牌桶等算法控制请求速率,防止系统过载,需结合分布式实现(如Redis)和动态调整策略。熔断则通过状态机(关闭/打开…

docker服务器运维

使用docker的目的:避免python环境被污染,也避免本项目的包版本影响其他服务。起到隔离的作用。以python docker为例目录结构:your—project/    |---- app/        |---- main.py        |----…

详细介绍:Java数据结构第二十七期:布隆过滤器,用 “模糊” 换高效的查重黑科技

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Nginx 反向代理与负载均衡核心内容总结 - 实践

Nginx 反向代理与负载均衡核心内容总结 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

没有网站的域名佛山网站搜索排名

Servlet是运行在Web服务器或应用服务器上的java程序,它是一个中间层,负责连接来自web浏览器或其他HTTP客户程序和[HTTP服务器]上应用程序 Servlet执行下面的任务: 1)读取客户发送的显示数据。 2)读取由浏览器发送的隐式请求数据。…

自己注册了个域名想做一个网站网站建设属于服务还是货物

模块简介: requests 库是一个 python中比较有名的 http请求的库,能处理 get,post,put,delete 等 restful请求,能设置 header,cookie,session 等操作,也是作为爬虫的基础库,它目前还不能异步请求,如果要支持…

海口 做网站百度搜一下

一、GoLand显示环境如下 修改环境变量 新建系统变量 GOROOT: D:\ENSPACE\golandsdk\1.23.1\go1.23.1新建系统变量 GOPATH:工作目录(在下面目录下新建目录:src,项目工程目录都要建在src下如:demo1 demo2) D…

这款免费Windows优化神器!只有5M电脑绿色工具!ZyperWin++下载安装教程

软件介绍 今天给大家安利一款我最近发现的宝藏软件,ZyperWinOptimize(ZyperWin++)是一款开源的 Windows 优化工具,基于 .NET + SunnyUI 的开源、轻量级 Windows 系统优化工具,适用于 Windows 7 至 Windows 11 系统…