« 2021年11月 | メイン | 2022年01月 »

2021年12月31日

dlibがマルチバイトでこける件

dlib.simple_object_detector("ある.dat".encode('Shift_JIS'))

多分プラットフォーム関係なしにutf-8でそのまま渡してるんじゃないかな。

windowsの場合 ↑のように文字コード変換して渡したらうまくいった。


が、windowsの場合でもutf-8で動いてることもあるらしいし、結局OSごとに分けたりも出来ないので、shutil.copyfileでコピーして相対パスで確実にマルチバイト入っていない状況にしてあげてから動作させた。これなら場合分け必要ない。

投稿者 muuming : 10:46

2021年12月26日

kivy exe化

https://kivy.org/doc/stable/guide/packaging-windows.html

python -m PyInstaller --onefile --name myapp myapp.py

で出来たspecを弄る

頭に
from kivy_deps import sdl2, glew

exe = EXE(pyz,
の部分に
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],

と exeに取り込む画像類が入ったフォルダを指定

Tree('parts\\'),

a.datas += [
('maru.png', '.\\maru.png', 'DATA'),
('back.png', '.\\back.png', 'DATA'),
('back_press.png', '.\\back_press.png', 'DATA'),
('btnbg.png', '.\\btnbg.png', 'DATA'),
('next.png', '.\\next.png', 'DATA'),
('next_press.png', '.\\next_press.png', 'DATA'),
('select.png', '.\\select.png', 'DATA'),
('my_detector.dat', '.\\my_detector.dat', 'DATA'),
('my_predictor_waku.dat', '.\\my_predictor_waku.dat', 'DATA'),
('ipaexg.ttf', '.\\ipaexg.ttf', 'DATA')
]

で個別にも入れれる


exe = EXE(pyz,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
Tree('parts\\'),
name='idcutter',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )

pyinstaller test.spec

投稿者 muuming : 22:26

2021年12月23日

kivy 自分の範囲内であるか?

    def on_touch_down(self, touch):
        if self.collide_point(*touch.pos):

投稿者 muuming : 06:23

2021年12月17日

kivyで値を監視して変化があればfireさせる

kivyで値を監視して変化があればfireさせるためには

class MenuButton(Button):
	def __init__(self, **kwargs):
		super(MenuButton, self).__init__(**kwargs)
		self.hoge = 11
	def on_hoge(self,*argv):

ではだめで


class MenuButton(Button):
hoge = NumericProperty(66)
def on_hoge(self,*argv):

で動作する。なんでもかんでも監視してるわけでは無いのね。

投稿者 muuming : 10:35