mieki256's diary



2022/06/26() [n年前の日記]

#1 [python][cg_tools] ディザリング処理をするプログラムをPythonに移植中

任意のパレットを指定してディザリングをかけるサンプルプログラム群を ―― C++ で書かれてるソレを Python で書き直しているところ。

_Arbitrary-palette positional dithering algorithm

C/C++ で書くと処理が速いプログラムになるけれど、ソースがちょっと分かりづらくて魔改造しにくい。例えば、RGB値を取り出すために、ビットシフトして0x0ffでand、とかやらないといけない。そんな部分があちこちに出てくるけれど、それってアルゴリズムの本質的な部分ではないよなと…。これがPythonだったら、(r, g, b) といった感じで、タプルで渡せば済んじゃうので、ざっと眺めても分かりやすいソースになる。まあ、処理は遅くなるだろうけど…。Python は遅いし…。

そんなことを思って書き直し始めたのけど。動作確認してみたら、C++版と比べてとんでもなく処理時間がかかるようになってしまった。これはプログレスバーか何かを表示しておかないとあかんなと…。

CUIでプログレスバーを表示したい。 :

CUIでプログレスバーを出したい。tqdm というモジュールが便利らしい。

pip install tqdm

Python 3.9.13 x64 上で導入してみたけど、Windows10 x64 21H2 + DOS窓/ConEmu では、そのままだと正常表示されなかった。tqdm(... ,ascii=True) をつけて、ASCIIコードのみで出力すれば改善される模様。

from tqdm import tqdm

for i in  tqdm(range(100), ascii=True):
    hoge()

以下、参考ページ。

_Pythonで進捗バーを表示する(tqdm) - Narito Blog
_Tqdm Issues and Tips - jdhao's digital space
_Wrong output in Windows console - Issue #454 - tqdm/tqdm

以上です。

過去ログ表示

Prev - 2022/06 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project