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

python实现书法碑帖图片分割

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

本文实例为大家分享了python实现书法碑帖图片分割的具体代码,供大家参考,具体内容如下

一、功能实现效果

1、选择要分割的碑帖图片

2、选择碑帖图像分割的行与列,本例的行为:5,列为:4。如何点击“确定行列”

3、输入对于碑帖的内容,点击“确定分割”按钮。

4、在输出文件夹生成了单字版图片,并对应内容命名。方便集字、创作与学习。

二、Python代码实现

1、getimgdir.py

import wx
import os
from PIL import Image
import numpy as np
#import wx.grid
#import row_col
#row_col
#######################################################################################
app = wx.App() #wx.App()行创建了一个应用程序对象。每个 wx 程序都需要一个 .App() 对象
frame = wx.Frame(None, -1, '请选择待分割的图片文件') #wx.Frame()方法返回一个可以包含小部件的新窗口
frame.SetSize(0,0,600,300) #函数设置位置和大小(x(左),y(顶部),宽度,高度)
openFileDialog = wx.FileDialog(frame, "Open", "", "",
                   "all files (*.*)|*.*",
                    wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)

openFileDialog.ShowModal() #显示窗口
src = openFileDialog.GetPath() #返回文件的完整路径(如果选择了一个)
np.savez('dir.npz', k_a=src)
openFileDialog.Destroy()

2、r

本文来源gaodai.ma#com搞##代!^码网(

ow_col.py

import wx
import numpy as np
import sys
import time
import os
class MyFrame(wx.Frame):
  ClickNum = 0
  def __init__(self):   #__init__(self) 是类的初始化方法,也称构造方法,是一种特殊的魔法方法。__init__(self)在实例化后,会自动调用,而不用手动调用,所以一般把属性设置在_init__()里。
    super().__init__(parent=None,title="图像分割行数与列数",size=(500,730)) # 初始化窗口信息
    panel = wx.Panel(self)  #框架的父窗口。对于顶级窗口,这个值是None 。#创建面板
    #模块1 选择签约主体
    self.Center()
    text1 = wx.StaticText(parent=panel,id=-1,pos=(10,7),label="图像分割行数:")
    list1 = ["1","2","3","4","5","6","7","8","9","10"]
    self.combobox1=wx.ComboBox(parent=panel,id=-1,pos=(100,5),value="5",choices=list1)#wx.ComboBox 默认它的文本框是可以修改的

    text2 = wx.StaticText(parent=panel, id=-1, pos=(250, 7), label="图像分割列数:")
    list2 = ["1","2","3","4","5","6","7","8","9","10"]
    self.combobox2 = wx.ComboBox(parent=panel, id=-1, pos=(350, 5), value="4",choices=list2) # wx.ComboBox 默认它的文本框是可以修改的

    datadir = np.load('dir.npz')
    imgdir = str(datadir['k_a'])
    copybookimg = wx.Bitmap(imgdir, wx.BITMAP_TYPE_ANY)
    img = wx.Image(imgdir)
    w1,h1 = copybookimg.GetSize()
    if h1>400:
     neww1 = (400*w1)/h1
     newh1 = 400
     img2=img.Scale(int(neww1),newh1)
     img2=wx.Bitmap(img2)
     self.image = wx.StaticBitmap(panel, -1, img2,pos=(10, 90))

    st1 = wx.StaticText(panel, -1, "字帖内容:", pos=(10, 505))


    self.txt1 = wx.TextCtrl(panel, -1, pos=(60, 530), size=(int(13.26*1+23.5), 140), style=wx.TE_MULTILINE)

    #提交模块
    self.button = wx.Button(panel, -1, "确定行列", pos=(200, 40), size=(60, 30)) # 在面板上添加控件
    self.Bind(wx.EVT_BUTTON, self.OnClick, self.button) # 将回调函数与按键事件绑定


  def OnClick(self, event): # 回调函数事件
      self.button.SetLabel("提交成功") # 设置
      self.ClickNum += 1
      if self.ClickNum % 2 == 1: # 根据按下次数判断
        self.button.SetLabel("已经提交") # 修改按键的标签
        a = self.combobox1.GetValue()
        b = self.combobox2.GetValue()
        np.savez('abc.npz', k_a=a, k_b=b)
        #time.sleep(0.1)
        self.Close()


class App(wx.App):
  def OnInit(self):
    frame = MyFrame()
    frame.Show()
    return True
app = App()
app.MainLoop()
#time.sleep(2)
#sys.exit(0)

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

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

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

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

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