PyQt で画像のビューアを作る 5 version 2

2019/06/26 11:55 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
PyQt で画像のビューアを作る 5
hogePyQt で画像のビューアを作る 5

190625

# Jpg comment 読み込み
- できた( ´∀`)
モジュールとして使えるようにクラス化した
まだ読み込みだけ
書き込みできるように以前書いたCのソースを読み返してみよう
頭の部分に挿入するだけで良いと思うんだが?

```
<code>
```
- このコードは先頭の20バイトしか調べてない
自分でコメントを書き込むときは先頭にしか書き込まないのでこれで十分なんだけど
きちんとjpgの構造解析をしておいた方が良いのだろうか?
- バイナリの読み書きが勉強になった
バイナリにスライスを使うと検索も簡単だ、pythonいいな(・∀・)ノ
- bigとかlitteとか、久しぶりに見た
コメントサイズの計算ね、今回は自分でやったけどpythonでは関数が用意されてました
```
key = b'\x00\x0a'
print( int.from_bytes( key, 'big') )    # ---> 10
print( int.from_bytes( key, 'little') ) # ---> 2560
```
- バイナリで読み込んでるのでエンコする前に末端に0を書いておきたいんだけど上手く出来ない┐('д')┌
- **jpgのコメントはshit-jis**なんだなあ
いずれutf-8になるのであろうか?
エンコの自動判定は特に長さが短いと難しいし今後このフォーマットはどうなるんだろう?
- **pngでも表示・書き込み出来るようにしておきたいなあ**


# pillow を使う 画像の合成
できた(^_^)

<fig>

- 画像の補正をしたかった。明るくするのがメイン
ただし全体では無く部分的に補正したい場合がほとんどなのでマスクを使って合成する
PhotoShoだと重いのでいつもPhotoLineってのを使っていて、これはかなり良いんだけどその代替が欲しかった
基本はこんな感じ
```
orig=Image.open(< pass >)
grad=Image.open(< pass >) # マスク用のグラデ画像

orig_back=orig.copy()
orig_conv=origk.point(lambda x: x * 1.5)
orig_conv_masked = orig_back.paste( orig_conv, (0,0), grad )

```
- いろいろやりたいことはあるけど基本が出来たのであとは作り込みですな
- **動作が不安定で結構落ちる**
VSCodeで実行してもエラーも出ずに落ちる
解決しておかないと実用化は難しい
多分 pillow と QT でデータを変換するあたりだと思う
そこら辺に try を仕込んでおけば良いのかな????
      

PyQt で画像のビューアを作る 5

190625

Jpg comment 読み込み

  • できた( ´∀`)
    モジュールとして使えるようにクラス化した
    まだ読み込みだけ
    書き込みできるように以前書いたCのソースを読み返してみよう
    頭の部分に挿入するだけで良いと思うんだが?
code
  • このコードは先頭の20バイトしか調べてない
    自分でコメントを書き込むときは先頭にしか書き込まないのでこれで十分なんだけど
    きちんとjpgの構造解析をしておいた方が良いのだろうか?
  • バイナリの読み書きが勉強になった
    バイナリにスライスを使うと検索も簡単だ、pythonいいな(・∀・)ノ
  • bigとかlitteとか、久しぶりに見た
    コメントサイズの計算ね、今回は自分でやったけどpythonでは関数が用意されてました
key = b'\x00\x0a'
print( int.from_bytes( key, 'big') )    # ---> 10
print( int.from_bytes( key, 'little') ) # ---> 2560
  • バイナリで読み込んでるのでエンコする前に末端に0を書いておきたいんだけど上手く出来ない┐('д')┌
  • jpgのコメントはshit-jisなんだなあ
    いずれutf-8になるのであろうか?
    エンコの自動判定は特に長さが短いと難しいし今後このフォーマットはどうなるんだろう?
  • pngでも表示・書き込み出来るようにしておきたいなあ

pillow を使う 画像の合成

できた(^_^)

<fig>

  • 画像の補正をしたかった。明るくするのがメイン
    ただし全体では無く部分的に補正したい場合がほとんどなのでマスクを使って合成する
    PhotoShoだと重いのでいつもPhotoLineってのを使っていて、これはかなり良いんだけどその代替が欲しかった
    基本はこんな感じ
orig=Image.open(< pass >)
grad=Image.open(< pass >) # マスク用のグラデ画像

orig_back=orig.copy()
orig_conv=origk.point(lambda x: x * 1.5)
orig_conv_masked = orig_back.paste( orig_conv, (0,0), grad )

  • いろいろやりたいことはあるけど基本が出来たのであとは作り込みですな
  • 動作が不安定で結構落ちる
    VSCodeで実行してもエラーも出ずに落ちる
    解決しておかないと実用化は難しい
    多分 pillow と QT でデータを変換するあたりだと思う
    そこら辺に try を仕込んでおけば良いのかな????