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


Posted in Python onApril 08, 2021

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

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

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

放大局部细节看是这样的

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

原图是下面这样的

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

这个算法最大的特点是保留原始像素的数值, 而不是把边框统一变成白色.
实现的算法也超级简单. 就是有点慢. 考虑到我这个应用场景对性能要求不高, 比人快就行. 人工是它的几百倍. 所以也就无所谓啦.
测试结果一张1080*1920的图用时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")
    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 相关文章推荐
python通过加号运算符操作列表的方法
Jul 28 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
Django自定义认证方式用法示例
Jun 23 Python
Python基于回溯法解决01背包问题实例
Dec 06 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
django 单表操作实例详解
Jul 30 Python
python脚本执行CMD命令并返回结果的例子
Aug 14 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python实现while循环打印星星的四种形状
Nov 23 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 Python
python excel多行合并的方法
Dec 09 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 #Python
Django 如何实现文件上传下载
Apr 08 #Python
python3 删除所有自定义变量的操作
Apr 08 #Python
pytorch显存一直变大的解决方案
Apr 08 #Python
Python文件的操作示例的详细讲解
Django展示可视化图表的多种方式
You might like
追求程序速度,而不是编程的速度
2008/04/23 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
理解JavaScript中的事件
2006/09/23 Javascript
javascript 有趣而诡异的数组
2009/04/06 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
python命令行工具Click快速掌握
2019/07/04 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
python基于win32api实现键盘输入
2020/12/09 Python
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
大学四年学习的自我评价分享
2013/12/09 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
关于保护环境的标语
2014/06/09 职场文书
销售顾问工作计划书
2014/08/15 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
建设工程授权委托书
2014/09/22 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书