Python实现位图分割的效果

最近重温了一下位图分割的相关内容,发现网络上位图分割原理讲得已经很清楚了,但是代码多为C++实现或者Matlab实现,因为需要Python的版本,于是出现了这篇博客。

话不多说,直接来代码。

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('Fig3.13.jpg', 0)
imgBS = np.zeros_like(img)

plt.figure("Image")
plt.subplot(2, 4, 1)
plt.imshow(img, cmap='gray')
plt.axis('off')
plt.title('original')

for n in range(1, 8):
    for x in range(img.shape[0]):
        for y in range(img.shape[1]):
            gray = img[x, y] & pow(2, n-1)
            if gray == pow(2, n-1):
                imgBS[x, y] = 255
            else:
                imgBS[x, y] = 0

    plt.subplot(2, 4, n+1)
    plt.imshow(imgBS, cmap='gray')

    plt.axis('off')
    plt.title(str(n) + 'bit')
plt.show()

结果:

以上就是Python实现位图分割的效果的详细内容,更多关于Python的资料请关注我们其它相关文章!

(0)

相关推荐

  • python简单实现图片文字分割

    本文实例为大家分享了python简单实现图片文字分割的具体代码,供大家参考,具体内容如下 原图: 图片预处理:图片二值化以及图片降噪处理. # 图片二值化 def binarization(img,threshold): #图片二值化操作 width,height=img.size im_new = img.copy() for i in range(width): for j in range(height): a = img.getpixel((i, j)) aa = 0.30 * a[0]

  • python中opencv实现文字分割的实践

    图片文字分割的时候,常用的方法有两种.一种是投影法,适用于排版工整,字间距行间距比较宽裕的图像:还有一种是用OpenCV的轮廓检测,适用于文字不规则排列的图像. 投影法 对文字图片作横向和纵向投影,即通过统计出每一行像素个数,和每一列像素个数,来分割文字. 分别在水平和垂直方向对预处理(二值化)的图像某一种像素进行统计,对于二值化图像非黑即白,我们通过对其中的白点或者黑点进行统计,根据统计结果就可以判断出每一行的上下边界以及每一列的左右边界,从而实现分割的目的. 算法步骤: 使用水平投影和垂直投

  • python中超简单的字符分割算法记录(车牌识别、仪表识别等)

    背景 在诸如车牌识别,数字仪表识别等问题中,最关键的就是将单个的字符分割开来再分别进行识别,如下图.最近刚好用到,就自己写了一个简单地算法进行字符分割,来记录一下. 图像预处理 彩图二值化以减小参数量,再进行腐蚀膨胀去除噪点. image = cv2.imread('F://demo.jpg', 0) # 读取为灰度图 _, image = cv2.threshold(image, 50, 255, cv2.THRESH_BINARY) # 二值化 kernel1 = cv2.getStruct

  • Python实现位图分割的效果

    最近重温了一下位图分割的相关内容,发现网络上位图分割原理讲得已经很清楚了,但是代码多为C++实现或者Matlab实现,因为需要Python的版本,于是出现了这篇博客. 话不多说,直接来代码. import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('Fig3.13.jpg', 0) imgBS = np.zeros_like(img) plt.figure("Image") plt.s

  • 用Python将一个列表分割成小列表的实例讲解

    方法一 def list_of_groups(init_list, childern_list_len): ''' init_list为初始化的列表,childern_list_len初始化列表中的几个数据组成一个小列表 :param init_list: :param childern_list_len: :return: ''' list_of_group = zip(*(iter(init_list),) *childern_list_len) end_list = [list(i) fo

  • Python实现模拟分割大文件及多线程处理的方法

    本文实例讲述了Python实现模拟分割大文件及多线程处理的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python #--*-- coding:utf-8 --*-- from random import randint from time import ctime from time import sleep import queue import threading class MyTask(object): """具体的任务类"&qu

  • Python PyQt4实现QQ抽屉效果

    本文实例为大家分享了Python PyQt4实现QQ抽屉效果展示的具体代码,供大家参考,具体内容如下 先看截图效果: 主要是使用了QT的QTabWidget.QToolBox多页窗口部件 # -*- coding: utf-8 -*- from PyQt4.QtGui import * from PyQt4.QtCore import * import sys QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8")) class

  • Python使用正则表达式分割字符串的实现方法

    如下: re.split(pattern, string, [maxsplit], [flags]) pattern:表示模式字符串,由要匹配的正则表达式转换而来. string:表示要匹配的字符串. maxsplit:可选参数,表示最大的拆分次数. flags:可选参数表示标志位,用于控制匹配方式,如是否区分子母大小写 示例代码: import re pattern = r'[?|&]' # 定义分隔符 url = 'http://www.baidu.com/login.jsp?usernam

  • python使用opencv实现马赛克效果示例

    本文实例讲述了python使用opencv实现马赛克效果.分享给大家供大家参考,具体如下: 最近要实现opencv视频打马赛克,在网上找了一下基本是C++的实现,好在原理一样,下面给出python实现. 原理和注意点,我都写在注释里了 import cv2 ##马赛克 def do_mosaic(frame, x, y, w, h, neighbor=9): """ 马赛克的实现原理是把图像上某个像素点一定范围邻域内的所有点用邻域内左上像素点的颜色代替,这样可以模糊细节,但是

  • Python使用Pygame实现时钟效果

    本文实例为大家分享了Python使用Pygame实现时钟效果的具体代码,供大家参考,具体内容如下 import pygame,sys,math,random from pygame.locals import * from datetime import datetime,date,time def print_text(font,x,y,text,color=(255,255,255)): imgText=font.render(text,True,color) screen.blit(img

  • Python实现图像去雾效果的示例代码

    目录 修改部分 训练测试 数据集 下载地址 修改部分 我利用该代码进行了去雾任务,并对原始代码进行了增删,去掉了人脸提取并对提取人脸美化的部分,如下图 增改了一些数据处理代码,Create_Bigfile2.py和Load_Bigfilev2为特定任务需要加的代码,这里数据处理用的是原始方法,即将训练数据打包成一个文件,一次性载入,可能会内存爆炸.去雾的如下 另外,为了节省内存,可以不使用原始方法,我改写了online_dataset_for_odl_photos.py文件 用于我的加雾论文,此

  • Python实现屏幕代码雨效果的示例代码

    直接上代码 import pygame import random def main(): # 初始化pygame pygame.init() # 默认不全屏 fullscreen = False # 窗口未全屏宽和高 WIDTH, HEIGHT = 1100, 600 init_width, init_height = WIDTH, HEIGHT # 字块大小,宽,高 suface_height = 18 # 字体大小 font_size = 20 # 创建一个窗口 screen = pyga

  • 详解利用Python制作中文汉字雨效果

    直接上代码 import pygame import random def main(): # 初始化pygame pygame.init() # 默认不全屏 fullscreen = False # 窗口未全屏宽和高 WIDTH, HEIGHT = 1100, 600 init_width, init_height = WIDTH, HEIGHT # 字块大小,宽,高 suface_height = 18 # 字体大小 font_size = 20 # 创建一个窗口 screen = pyga

随机推荐