hogeoge enhancer version 2

2019/07/08 17:23 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
hogeoge

```
mouseMoveEvent(self,e):
 c=img.getpixcel( e.pos().x() , e.pos().y()) 
 # c=img.getpixcel( e.pos().x() , -( e.pos().y() - img.width() ) ) # 反転するのかな? 
 print('pos :' , e.pos() , 'color_rgb :' , c )

mousePressEvent(self,e):
 c=img.getpixcel( e.pos().x() , e.pos().y()) 
 # c=img.getpixcel( e.pos().x() , -( e.pos().y() - img.width() ) ) # 反転するのかな? 
 self.makeLUT_white(c):
 self.enhance_white(c):

makeLUT_white(self,color):
enhance_white(self,color):
 clist=[[],[],[]] 
 for c in range(3):
  color[c] = 1 if color[c] == 0 else color[c]
  ratio=255/color[c]
  clist[c]=[ round( i * ratio ) if i < color[c] else 255 for i in range(256)] 

        im = self.img.convert('RGB')
        size = im.size
        im2 = Image.new('RGB',size)
        data = im.getdata()
        data2=[( clist[0][i[0]] , clist[1][i[1]] , clist[2][i[2]] )  for i in data ]
         im2.putdata(data2)
        self.enhanced=im2.copy()
        del im2
        self.showimage( )
```




# ベジェ曲線の座標の求め方について
- Qtはベジェ曲線を描画しているのだから座標も持ってるはずだと思いドキュメントを見てみたらこんなメッソドがあった
QPointF QPainterPath.pointAtPercent (self, float t)
このtは0-1で指定することになっていて、ベジェそのものですね
- Qtもあくまでtベースでしか値は返してくれないって事だな
内部的にはどういう実装なんだろう?
曲線とは言ってもPCだから全てはドットの描画でしかないはずだ
でもドットだとx値が飛ぶところでは間が空くはずだ
でもパスだからどんなに拡大しても綺麗に描画出来るように実装されてるはずだ
やはり全てのx値を計算して求めてるんだろうか?
だとしたらそういう関数を用意してくれても良いと思うんだが・・・
- 今は自分でx,yを求めてるが、Qtの関数を使ってみるか???
結果が同じかどうかを調べてみるとか・・・
意味ないかな? 

      
mouseMoveEvent(self,e):
 c=img.getpixcel( e.pos().x() , e.pos().y()) 
 # c=img.getpixcel( e.pos().x() , -( e.pos().y() - img.width() ) ) # 反転するのかな? 
 print('pos :' , e.pos() , 'color_rgb :' , c )

mousePressEvent(self,e):
 c=img.getpixcel( e.pos().x() , e.pos().y()) 
 # c=img.getpixcel( e.pos().x() , -( e.pos().y() - img.width() ) ) # 反転するのかな? 
 self.enhance_white(c):

enhance_white(self,color):
 clist=[[],[],[]] 
 for c in range(3):
  color[c] = 1 if color[c] == 0 else color[c]
  ratio=255/color[c]
  clist[c]=[ round( i * ratio ) if i < color[c] else 255 for i in range(256)] 

        im = self.img.convert('RGB')
        size = im.size
        im2 = Image.new('RGB',size)
        data = im.getdata()
        data2=[( clist[0][i[0]] , clist[1][i[1]] , clist[2][i[2]] )  for i in data ]
         im2.putdata(data2)
        self.enhanced=im2.copy()
        del im2
        self.showimage( )

ベジェ曲線の座標の求め方について

  • Qtはベジェ曲線を描画しているのだから座標も持ってるはずだと思いドキュメントを見てみたらこんなメッソドがあった
    QPointF QPainterPath.pointAtPercent (self, float t)
    このtは0-1で指定することになっていて、ベジェそのものですね
  • Qtもあくまでtベースでしか値は返してくれないって事だな
    内部的にはどういう実装なんだろう?
    曲線とは言ってもPCだから全てはドットの描画でしかないはずだ
    でもドットだとx値が飛ぶところでは間が空くはずだ
    でもパスだからどんなに拡大しても綺麗に描画出来るように実装されてるはずだ
    やはり全てのx値を計算して求めてるんだろうか?
    だとしたらそういう関数を用意してくれても良いと思うんだが・・・
  • 今は自分でx,yを求めてるが、Qtの関数を使ってみるか???
    結果が同じかどうかを調べてみるとか・・・
    意味ないかな?