• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python实现求纯色彩图像的边框

python 搞代码 4年前 (2022-01-08) 18次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了python实现求纯色彩图像的边框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现求纯色彩图像的边框,供大家参考,具体内容如下

先上效果图,这里显示有点色差, 实际数值是纯色的, 而不是混色的.

放大局部细节看是这样的

原图是下面这样的

这个算法最大的特点是保留原始像素的数值, 而不是把边框统一变成白色.
实现的算法也超级简单. 就是有点慢. 考虑到我这个应用场景对性能要求不高, 比人快就行. 人工是它的几百倍. 所以也就无所谓啦.
测试结果一张1080*19来源gaodaima#com搞(代@码网20的图用时3秒, 如果换成c语言估计0.5秒左右.

算法原理, 每次4个田子形像素逐行扫描. 发现4个像素不一致的就输出到结果图上. 否则就是输出0.

代码如下.

 # # demo.py # 识别单张图片 # import argparse import os import numpy as np import time from modeling.deeplab import * from dataloaders import custom_transforms as tr from PIL import Image from torchvision import transforms from dataloaders.utils import  * from torchvision.utils import make_grid, save_image,to_image import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt def main(): im = Image.open("test_border.png-600") npimg = np.array(im) # 这个图片是1维的索引图. # chwimg = npimg.transpose(2,0,1) # HWC 变成 CHW 格式的矩阵 print(npimg.shape) h,w,c = npimg.shape src = np.sum(npimg,axis=2) # 这里测试用, 先把3通道的合成了一个通道的, 实际使用的时候也是1通道的. print(src.shape) borderimg = np.zeros(src.shape) #默认都输出了0 后面就不用输出0了. # 修补bug, 解决边框线会丢失的问题. borderimg[0,:]=src[0,:] borderimg[:,0]=src[:,0] borderimg[-1,:]=src[-1,:] borderimg[:,-1]=src[:,-1] t1= time.time() for x in range(0,h-1,1): for y in range(0,w-1,1): # point = src[x,y] # if(point>0): # print(point) if not (src[x,y] == src[x+1,y] == src[x,y+1] == src[x+1,y+1]): # 发现4个像素不一致的就输出到结果图上. borderimg[x,y] = src[x,y] borderimg[x+1,y] = src[x+1,y] borderimg[x,y+1] = src[x,y+1] borderimg[x+1,y+1] = src[x+1,y+1] t2= time.time() print("耗时",t2-t1) plt.figure() plt.title('display') plt.imshow(src) plt.show( ) plt.imshow(borderimg) plt.show( ) print("start test get image border ...") if __name__ == "__main__": main() else: main()

以上就是python实现求纯色彩图像的边框的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python实现求纯色彩图像的边框

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址