校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > python實(shí)現(xiàn)書法碑帖圖片分割

python實(shí)現(xiàn)書法碑帖圖片分割

熱門標(biāo)簽:電銷機(jī)器人 金倫通信 鄭州智能外呼系統(tǒng)中心 賓館能在百度地圖標(biāo)注嗎 北京外呼電銷機(jī)器人招商 crm電銷機(jī)器人 汕頭電商外呼系統(tǒng)供應(yīng)商 南京crm外呼系統(tǒng)排名 400電話 申請(qǐng) 條件 云南地圖標(biāo)注

本文實(shí)例為大家分享了python實(shí)現(xiàn)書法碑帖圖片分割的具體代碼,供大家參考,具體內(nèi)容如下

一、功能實(shí)現(xiàn)效果

1、選擇要分割的碑帖圖片

2、選擇碑帖圖像分割的行與列,本例的行為:5,列為:4。如何點(diǎn)擊“確定行列”

3、輸入對(duì)于碑帖的內(nèi)容,點(diǎn)擊“確定分割”按鈕。

4、在輸出文件夾生成了單字版圖片,并對(duì)應(yīng)內(nèi)容命名。方便集字、創(chuàng)作與學(xué)習(xí)。

二、Python代碼實(shí)現(xiàn)

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()行創(chuàng)建了一個(gè)應(yīng)用程序?qū)ο蟆C總€(gè) wx 程序都需要一個(gè) .App() 對(duì)象
frame = wx.Frame(None, -1, '請(qǐng)選擇待分割的圖片文件') #wx.Frame()方法返回一個(gè)可以包含小部件的新窗口
frame.SetSize(0,0,600,300) #函數(shù)設(shè)置位置和大小(x(左),y(頂部),寬度,高度)
openFileDialog = wx.FileDialog(frame, "Open", "", "",
                   "all files (*.*)|*.*",
                    wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)

openFileDialog.ShowModal() #顯示窗口
src = openFileDialog.GetPath() #返回文件的完整路徑(如果選擇了一個(gè))
np.savez('dir.npz', k_a=src)
openFileDialog.Destroy()

2、row_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) 是類的初始化方法,也稱構(gòu)造方法,是一種特殊的魔法方法。__init__(self)在實(shí)例化后,會(huì)自動(dòng)調(diào)用,而不用手動(dòng)調(diào)用,所以一般把屬性設(shè)置在_init__()里。
    super().__init__(parent=None,title="圖像分割行數(shù)與列數(shù)",size=(500,730)) # 初始化窗口信息
    panel = wx.Panel(self)  #框架的父窗口。對(duì)于頂級(jí)窗口,這個(gè)值是None 。#創(chuàng)建面板
    #模塊1 選擇簽約主體
    self.Center()
    text1 = wx.StaticText(parent=panel,id=-1,pos=(10,7),label="圖像分割行數(shù):")
    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 默認(rèn)它的文本框是可以修改的

    text2 = wx.StaticText(parent=panel, id=-1, pos=(250, 7), label="圖像分割列數(shù):")
    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 默認(rèn)它的文本框是可以修改的

    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, "字帖內(nèi)容:", 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) # 將回調(diào)函數(shù)與按鍵事件綁定


  def OnClick(self, event): # 回調(diào)函數(shù)事件
      self.button.SetLabel("提交成功") # 設(shè)置
      self.ClickNum += 1
      if self.ClickNum % 2 == 1: # 根據(jù)按下次數(shù)判斷
        self.button.SetLabel("已經(jīng)提交") # 修改按鍵的標(biāo)簽
        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)

3、row_col_show.py

import wx
import numpy as np
import threading
import time
from PIL import Image,ImageDraw
def draw_line(dir,a,b):
 im = Image.open(dir)
 draw = ImageDraw.Draw(im) #實(shí)例化一個(gè)對(duì)象
 #a #行 圖像的寬:im.size[0]
 #b #列 圖像的高:im.size[1]
 a=int(a)
 b=int(b)
 c=im.size[0]
 d=im.size[1]
 for i in range(a):
  draw.line((0, d*(i+1)/a) + (c,d*(i+1)/a), fill=128, width=5) #線的起點(diǎn)和終點(diǎn),線寬
 for j in range(b):
  draw.line((c*(j+1)/b,0) + (c*(j+1)/b,d), fill=128, width=6)
 return(im.save("00.jpeg"))

class MyFrame(wx.Frame):
  ClickNum = 0

  def __init__(
      self): # __init__(self) 是類的初始化方法,也稱構(gòu)造方法,是一種特殊的魔法方法。__init__(self)在實(shí)例化后,會(huì)自動(dòng)調(diào)用,而不用手動(dòng)調(diào)用,所以一般把屬性設(shè)置在_init__()里。
    super().__init__(parent=None, title="圖像分割行數(shù)與列數(shù)", size=(500, 730)) # 初始化窗口信息
    panel = wx.Panel(self) # 框架的父窗口。對(duì)于頂級(jí)窗口,這個(gè)值是None 。#創(chuàng)建面板
    # 模塊1 選擇簽約主體
    self.Center()
    data_a = np.load('abc.npz')
    split_row = int(data_a['k_a']) # 讀取行數(shù)
    split_col = int(data_a['k_b']) # 讀取列數(shù)

    text1 = wx.StaticText(parent=panel, id=-1, pos=(10, 7), label="圖像分割行數(shù):")
    list1 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
    self.combobox1 = wx.ComboBox(parent=panel, id=-1, pos=(100, 5), value=str(split_row),
                   choices=list1) # wx.ComboBox 默認(rèn)它的文本框是可以修改的

    text2 = wx.StaticText(parent=panel, id=-1, pos=(250, 7), label="圖像分割列數(shù):")
    list2 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
    self.combobox2 = wx.ComboBox(parent=panel, id=-1, pos=(350, 5), value=str(split_col),
                   choices=list2) # wx.ComboBox 默認(rèn)它的文本框是可以修改的
    datadir = np.load('dir.npz')
    imgdir = str(datadir['k_a'])
    copybookimg = wx.Bitmap(imgdir, wx.BITMAP_TYPE_ANY)
    #img = wx.Image(imgdir)
    draw_line(imgdir, str(split_row), str(split_col))
    img3 = wx.Image("00.jpeg")
    w1, h1 = copybookimg.GetSize()
    if h1 > 400:
      neww1 = (400 * w1) / h1
      newh1 = 400
      img2 = img3.Scale(neww1, newh1)
      img2 = wx.Bitmap(img2)
      self.image = wx.StaticBitmap(panel, -1, img2, pos=(10, 90))
    st1 = wx.StaticText(panel, -1, "字帖內(nèi)容:", pos=(10, 505))
    for i in range(split_col):
      wx.StaticText(panel, -1, "第"+str(i+1)+"列:", pos=(10, 530+20*i))

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

    # 提交模塊
    self.button = wx.Button(panel, -1, "確定分割", pos=(400, 650), size=(60, 30)) # 在面板上添加控件
    self.Bind(wx.EVT_BUTTON, self.OnClick, self.button) # 將回調(diào)函數(shù)與按鍵事件綁定

  def OnClick(self, event): # 回調(diào)函數(shù)事件
    self.button.SetLabel("提交成功") # 設(shè)置
    self.ClickNum += 1
    if self.ClickNum % 2 == 1: # 根據(jù)按下次數(shù)判斷
      self.button.SetLabel("已經(jīng)提交") # 修改按鍵的標(biāo)簽
      a = self.combobox1.GetValue()
      b = self.combobox2.GetValue()
      c = self.txt1.GetValue()
      np.savez('abc.npz', k_a=a, k_b=b, k_c=c) #k_c = c碑帖內(nèi)容保存npz文件
      self.Close()
class App(wx.App):
  def OnInit(self):
    frame = MyFrame()
    frame.Show()
    return True
app = App()
app.MainLoop()

4、split_copybook.py

# -*- coding: utf-8 -*-

import wx
import os
from PIL import Image
import numpy as np
#import wx.grid
#import row_col
#row_col
#######################################################################################
data_a = np.load('dir.npz')
src=str(data_a['k_a'])#地址


def splitimage(src, rownum, colnum, dstpath): #分割圖像,(輸入圖片路徑,分割行數(shù),分割列數(shù),輸出圖片路徑)

  img = Image.open(src)
  src=src.replace('jpg','jpeg')

  print(src)
  #os.getcwd()
  w, h = img.size
  if rownum = h and colnum = w:
    print('原碑帖圖片信息: %sx%s, %s, %s' % (w, h, img.format, img.mode))
    print('

5、main.py

import os
os.system("python ./getimgdir.py")
os.system("python ./row_col.py")
os.system("python ./row_col_show.py")
os.system("python ./split_copybook.py")
os.unlink('00.jpeg')
os.unlink('abc.npz')
os.unlink('dir.npz')

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • python opencv實(shí)現(xiàn)圖片旋轉(zhuǎn)矩形分割
  • python實(shí)現(xiàn)對(duì)任意大小圖片均勻切割的示例
  • python opencv將表格圖片按照表格框線分割和識(shí)別
  • python實(shí)現(xiàn)圖片中文字分割效果
  • python3 實(shí)現(xiàn)對(duì)圖片進(jìn)行局部切割的方法
  • Python+opencv 實(shí)現(xiàn)圖片文字的分割的方法示例
  • python3 實(shí)現(xiàn)驗(yàn)證碼圖片切割的方法
  • python實(shí)現(xiàn)圖片九宮格分割
  • Python切割圖片成九宮格的示例代碼
  • python切割圖片的示例

標(biāo)簽:昆明 錫林郭勒盟 懷化 梅州 浙江 石家莊 文山 西寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python實(shí)現(xiàn)書法碑帖圖片分割》,本文關(guān)鍵詞  python,實(shí)現(xiàn),書法,碑帖,圖片,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實(shí)現(xiàn)書法碑帖圖片分割》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python實(shí)現(xiàn)書法碑帖圖片分割的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品一区免费av| 亚洲天堂成人网| 免费成人美女在线观看.| 欧美一级xxx| 精品一区二区三区免费毛片爱| 日韩欧美色综合网站| 国产美女娇喘av呻吟久久| 久久午夜色播影院免费高清| 国产精品系列在线播放| 成人免费在线视频| 欧美日韩精品一区二区三区四区| 亚洲福利一区二区| 日韩欧美高清dvd碟片| 国产成人av网站| 一区二区三区蜜桃网| 日韩写真欧美这视频| 处破女av一区二区| 亚洲成人综合视频| 久久亚洲私人国产精品va媚药| 成人性生交大片免费看视频在线 | 一本久久综合亚洲鲁鲁五月天| 亚洲精品视频免费观看| 欧美一区二区网站| 成人免费视频一区二区| 亚洲高清免费在线| 国产无一区二区| 欧美日韩国产精品成人| 国产精品一二三四区| 亚洲综合一区在线| 精品国产乱码久久| 色先锋aa成人| 国产精品一区二区在线观看不卡 | 久久综合久色欧美综合狠狠| 色综合久久99| 国产精品主播直播| 天堂av在线一区| 国产精品国产三级国产专播品爱网| 欧美日韩中字一区| 国产99久久久国产精品潘金 | 亚洲精品自拍动漫在线| 日韩精品一区二区三区视频在线观看| 99国产精品国产精品毛片| 美腿丝袜亚洲色图| 亚洲蜜臀av乱码久久精品| 久久久精品综合| 欧美精品123区| 色婷婷久久久亚洲一区二区三区 | 亚洲成人免费视| 中文字幕日本不卡| 久久在线观看免费| 91精品国产麻豆国产自产在线| 日本黄色一区二区| 丁香六月综合激情| 精品亚洲欧美一区| 日韩二区三区四区| 亚洲mv大片欧洲mv大片精品| 亚洲激情五月婷婷| 亚洲男女一区二区三区| 国产欧美精品一区| 久久综合九色欧美综合狠狠| 日韩手机在线导航| 欧美一区二区在线播放| 欧美精品一卡两卡| 欧美日韩国产天堂| 欧美视频精品在线观看| 欧美性猛交xxxx乱大交退制版| 99re66热这里只有精品3直播 | 日韩国产精品91| 亚洲午夜av在线| 一区二区三区影院| 亚洲天堂福利av| 亚洲乱码精品一二三四区日韩在线| 中文字幕高清一区| 国产精品区一区二区三区| 国产三级欧美三级| 欧美极品美女视频| 中文字幕一区二区三区乱码在线| 国产精品沙发午睡系列990531| 国产三级精品三级在线专区| 欧美国产激情一区二区三区蜜月 | 国产精品美女www爽爽爽| 国产欧美日韩视频在线观看| 亚洲国产精品ⅴa在线观看| 中文字幕第一页久久| 国产精品久久久久毛片软件| 亚洲图片激情小说| 亚洲综合在线五月| 亚洲国产精品麻豆| 男女性色大片免费观看一区二区| 久久国产尿小便嘘嘘| 成人妖精视频yjsp地址| 99九九99九九九视频精品| 91视频观看视频| 欧美性一二三区| 日韩欧美www| 国产欧美一区二区三区沐欲| 亚洲色图视频网站| 亚洲国产成人va在线观看天堂| 日韩国产在线观看| 国产精品白丝jk黑袜喷水| 91在线精品一区二区三区| 欧美影院精品一区| 欧美精品一区男女天堂| 国产精品国产自产拍高清av| 亚洲国产aⅴ成人精品无吗| 免费av网站大全久久| 国产一本一道久久香蕉| 色天使色偷偷av一区二区| 91.com视频| 国产欧美1区2区3区| 亚洲日本在线视频观看| 日本va欧美va欧美va精品| 国产福利一区二区三区视频 | 国产自产高清不卡| av电影在线观看完整版一区二区| 欧美日韩国产一区| 久久奇米777| 午夜私人影院久久久久| 国产剧情一区二区三区| 欧美色综合网站| 国产精品区一区二区三| 日韩av午夜在线观看| 成人av网在线| 日韩欧美专区在线| 亚洲乱码国产乱码精品精小说| 久草这里只有精品视频| 91久久精品日日躁夜夜躁欧美| 精品国产免费久久| 亚洲激情五月婷婷| 成人精品小蝌蚪| 精品国产乱码久久久久久蜜臀| 亚洲欧美激情插| 国产精品亚洲一区二区三区妖精 | 在线成人午夜影院| 国产精品国产自产拍高清av王其| 日韩黄色在线观看| 91麻豆福利精品推荐| 久久蜜桃av一区二区天堂| 丝袜亚洲精品中文字幕一区| 91麻豆蜜桃一区二区三区| 国产农村妇女毛片精品久久麻豆 | 欧美日韩综合在线| 亚洲欧美日韩国产中文在线| 国产剧情一区二区| 日韩三级视频在线看| 亚洲二区在线视频| 欧美影视一区在线| 亚洲乱码国产乱码精品精小说| 国产91精品久久久久久久网曝门 | 首页国产欧美日韩丝袜| 91精品办公室少妇高潮对白| 国产精品国产精品国产专区不片 | 粉嫩av一区二区三区在线播放 | 久久免费视频一区| 久久国产剧场电影| 欧美va亚洲va| 老司机精品视频线观看86| 制服丝袜亚洲色图| 日韩激情一二三区| 91精品国产综合久久福利软件| 丝袜诱惑亚洲看片| 91精品国产黑色紧身裤美女| 日韩精品成人一区二区在线| 欧美精品123区| 日本不卡一区二区三区高清视频| 欧美精品久久久久久久久老牛影院| 亚洲一区二区精品久久av| 欧美亚洲高清一区| 亚洲高清免费视频| 欧美一区二区在线播放| 久久激情五月激情| 久久影院电视剧免费观看| 久久疯狂做爰流白浆xx| 精品日韩一区二区三区| 国产高清亚洲一区| 国产精品网友自拍| 91亚洲精品久久久蜜桃网站| 亚洲精品成人天堂一二三| 欧美精品色一区二区三区| 日韩电影在线免费看| www国产精品av| 高清shemale亚洲人妖| 亚洲视频一区在线观看| 色悠悠亚洲一区二区| 五月天丁香久久| 26uuu亚洲| av在线一区二区| 亚洲美女视频在线| 91精品久久久久久久久99蜜臂| 麻豆精品久久精品色综合| 国产日韩av一区二区| 色综合激情久久| 美国毛片一区二区三区| 国产女人18水真多18精品一级做| 色一情一乱一乱一91av| 日本一区中文字幕| 国产精品久久久久aaaa| 911国产精品| av男人天堂一区| 奇米影视7777精品一区二区|