python浮雕图片_用Python来画浮雕画

python浮雕图片_用Python来画浮雕画浮雕艺术在世界各地都可以见到,中国古代在唐朝以来就有许多浮雕效果的东西,很多的大型纪念性建筑都有这种作为装饰,常见的有花窗,龙柱等。简单的来说,浮雕就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。用Python画一张浮雕画,那就进行类似的原理,通过勾画图像的轮廓,并且降低周围的像素值,那就可以产生一张具有立体感的浮雕效果图片。我们可以采用相邻像素相减的方法来得到轮廓与平…

大家好,又见面了,我是你们的朋友全栈君。

浮雕艺术在世界各地都可以见到,中国古代在唐朝以来就有许多浮雕效果的东西,很多的大型纪念性建筑都有这种作为装饰,常见的有花窗,龙柱等。

简单的来说,浮雕就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。

用Python画一张浮雕画,那就进行类似的原理,通过勾画图像的轮廓,并且降低周围的像素值,那就可以产生一张具有立体感的浮雕效果图片。我们可以采用相邻像素相减的方法来得到轮廓与平面的差,类似边缘的特征,从而获得这种立体感,为了增强图片的主观感受,我们还可以给这个差加上一个固定值。

那具体怎么实现呢?首先先把图片读入内存,转化为灰度图像,使用当前像素值 = 相邻像素值之差来得到图像的边缘特征,在加上固定数值150就可以得到浮雕效果了。

实现浮雕效果的代码如下

import cv2

import numpy as np

img = cv2.imread(‘E:\pythonee\LearnOpenCV\\test222.jpg’,1)

imgInfo = img.shape

height = imgInfo[0]

width = imgInfo[1]

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

dstImg = np.zeros((height,width,1),np.uint8)

# 算法:newPixel = grayCurrentPixel – grayNextPixel + 150

for i in range(0,height):

for j in range(0,width-1):

grayCurrentPixel = int(gray[i,j])

grayNextPixel = int(gray[i,j+1])

newPixel = grayCurrentPixel – grayNextPixel + 150

if newPixel > 255:

newPixel = 255

if newPixel < 0:

newPixel = 0

dstImg[i,j] = newPixel

cv2.imshow(‘dstImg’,dstImg)

cv2.waitKey(0)

注意在这里图像像素是用0-255的范围表示的,所以当像素值大于255时,需要将他变为255。

浮雕效果结果显示对比

python浮雕图片_用Python来画浮雕画

这就是图像的浮雕效果啦,还可以用不同的图片试试效果。

python浮雕图片_用Python来画浮雕画

python浮雕图片_用Python来画浮雕画

欢迎大家关注公众号“计算机视觉与机器学习”

python浮雕图片_用Python来画浮雕画

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151392.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • App界面原型设计工具「建议收藏」

    App界面原型设计工具「建议收藏」首先,一款优秀的移动APP界面原型设计工具应该具备:  ①.支持移动端演示(随时随地演示给BOSS,厕所&食堂&电梯…以体现我是那么的敬业——长点工资必备)  ②.组件库(高效复用,谁用谁知道)  ③.可以快速生成全局流程(程序猿看不懂拆解的,给丫的看这个)  ④.在线协作(多个PM狗一起用)  ⑤.手势操作、转场动画、交互特效…(这些都不需要,留给专业的交互、视觉,

    2022年6月16日
    33
  • 最常用的前端开发工具(js开发工具哪个好)

    随着时间的流逝,科学的进步,我们前端也从最开始的网页设计走到了现在的界面设计。现在给大家介绍几款目前市面上最好用的前端开发工具。1、SublimeText3下载地址:https://www.sublimetext.com/功能介绍:这是一款轻量化的软件,适用于Windows、macOS和Linux。由自定义组件构建,支持多种编程语言、及语法高亮引擎,拥有优秀的代码自动完成功能。适合编程初学者使用。2、VisualstudioCode下载地址:https://code.visual

    2022年4月18日
    125
  • 测试这个东西好不啦

    测试这个东西好不啦欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl

    2025年6月17日
    4
  • 【Qt】Qt的线程(两种QThread类的详细使用方式)「建议收藏」

    【Qt】Qt的线程(两种QThread类的详细使用方式)「建议收藏」Qt提供QThread类以进行多任务处理。与多任务处理一样,Qt提供的线程可以做到单个线程做不到的事情。例如,网络应用程序中,可以使用线程处理多种连接器。QThread继承自QObject类,且提供QMutex类以实现同步。线程和进程共享全局变量,可以使用互斥体对改变后的全局变量值实现同步。因此,必须编辑全局数据时,使用互斥体实现同步,其它进程则不能改变或浏览全局变量值。什么是互斥体?…

    2022年5月28日
    210
  • linux 解压war到root_unzip命令解压war包方法

    linux 解压war到root_unzip命令解压war包方法unzip 命令用于解压缩由 zip 命令压缩的 zip 压缩包 语法 unzip 选项 参数 选项 c 将解压缩的结果显示到屏幕上 并对字符做适当的转换 f 更新现有的文件 l 显示压缩文件内所包含的文件 p 与 c 参数类似 会将解压缩的结果显示到屏幕上 但不会执行任何的转换 t 检查压缩文件是否正确 u 与 f 参数类似 但是除了更新现有的文件外 也会将压缩文件中的其他文件解压缩到目录中

    2025年8月3日
    5
  • 学习方法——哈佛大学幸福课(积极心理学)学习笔记(上)

    学习方法——哈佛大学幸福课(积极心理学)学习笔记(上)最近刚看完哈佛大学的幸福课(又名积极心理学),真的是受益匪浅,通常心理学只研究如何消除抑郁、自卑等消极心理,但是消除了消极心理并不代表就会变得幸福,就像摆脱了痛苦并不代表获得了快乐。积极心理学的核心内容就是去分析积极心理的特点、研究如何培养他们。下面目录中加粗的章节是我认为的讲的最好的章节,从根源去分析悲观、焦虑以及完美主义等是如何产生的,然后分析它们与积极品性的关系,最后告诉我们培养积极品性…

    2022年7月25日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号