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来画浮雕画

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ida反汇编使用方法_开源反汇编工具

    ida反汇编使用方法_开源反汇编工具本文详细介绍反汇编工具IDAPro的使用。

    2022年10月22日
  • C++通过TinyXML类库读写XML文件

    C++通过TinyXML类库读写XML文件TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。

  • visdom 使用教程

    visdom 使用教程visdom教程visdom安装与启动服务visdom常用功能image窗口:图像显示与更新窗口显示images窗口:多个图像显示与更新窗口显示text窗口:显示文本与更新文本line窗口:绘制折线图与更新折线图scatter窗口:绘制散点图与更新散点图visdom安装与启动服务安装visdompipinstallvisdom打开服务python-mvisdom.server…

  • WPF-visifire Charts 控件去掉水印

    WPF-visifire Charts 控件去掉水印WPF-visifireCharts控件去掉水印,亲自测试可用!

  • json对象转换为实体类_对象和实体的区别

    json对象转换为实体类_对象和实体的区别//importcom.yonyou.sscip.gson.Gson;//jSONObject数据{“pk_org”:”TEST”,”pk_group”:”TEST”,”code”:”a”,”name”:”a”}//1、创建Gson对象 Gsongson=newGson(); //2、调用toJson(Object)将对象转为字符串 StringJsonStr=gson.toJson(json); System.out.printl.

  • 网络攻防:telnet远程登录和拒绝服务攻击的实现(dos攻击)

    网络攻防:telnet远程登录和拒绝服务攻击的实现(dos攻击)首先先说下我写这些文章的目的.我的专业就是网络安全,因此,也愿意把自己所学的一些东西都分享出来.不过由于涉及到很多黑客的东西,一些软件我就不发了,脚本什么的你们可以拿去用.更多的是为了给大家普及一下管于黑客的知识,以及如何防范黑客.这是我写的第一篇文章,希望能给你们带来一些启发.实验环境:三台虚拟机,win7,win7,win2003,并且要关掉所有的防火墙一.telnet远程登录1.实验环境搭建实验环境:攻击机win7,靶机win2003telnet是windows里面的一个服务.基本w.

发表回复

您的电子邮箱地址不会被公开。

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