HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0816
mmcvrotateの使い方7解決


mm

リンク

2007/8/16(Thu) 13:38:11|NO.10430

デジカメ画像を読み込み、縦位置であれば90度回転で横にしたいのです。


cvload filename,0 cvgetinfo picx,0,CVOBJ_INFO_SIZEX cvgetinfo picy,0,CVOBJ_INFO_SIZEY if picy>picx:cvrotate 90,1:screen 3,picy,picx:cvgetimg 0 stop

画像が欠け、白ふちや黒ふちがでます。
ある画像の時では、cvrotate 90,1,-40,0とするとy方向はぴったりですが
X方向の画像が欠け、右側に白い余白が出てしまいます。
3日間悩んでいます。
(その間grotateも試しましたがこれもよくわかりませんでした。)
よろしくお願いします。



この記事に返信する


eller

リンク

2007/8/16(Thu) 16:11:53|NO.10433

以前この掲示板で似たような話題が出ていました。「画像」「回転」などで検索すれば見つかったはずですが、「写真」ではヒットしないので分かりにくかったかもしれませんね。

http://hsp.tv/play/pforum.php?mode=all&num=4355

HSPCVは使っていませんが、多少参考になるのではないかと思います。



hsp2年生

リンク

2007/8/16(Thu) 17:29:13|NO.10434

cvrotate 90,1はcvバッファーの縦横のサイズが入れ変わるわけではなく中の画像だけが90度
反転するからだと思います。これを考慮すれば対処方法は見つかると思います。



eller

リンク

2007/8/16(Thu) 17:47:37|NO.10435

今読み返したら、私はとんちんかんな書き込みをしてしまっていますね。申し訳ないです。

hsp2年生さんの回答でOKそうですね。



mm

リンク

2007/8/16(Thu) 20:54:43|NO.10445

hsp2年生さん、みなさんありがとう。

ということは、画像の長辺サイズ正方形でcvbufferを確保し、loadし、
cvrotateし、上下の不要部分を除いてscreenにコピーすればいいってことですね。

きれいなスクリじゃないかも知れませんが、これでできるかやってみます。



HSP2年生

リンク

2007/8/18(Sat) 12:55:37|NO.10494

cvbufferを使わなければならない理由はわかりませんが、興味があったのでgrotateでやってみまし
た。90度単位に回転ならまだ良いのですが45度などちょっとめんどくさそう。
多くの画像処理ソフトにはサイズを変えないで回転という機能も備わっています。


picload filename,0 picx=ginfo(12) :picy=ginfo(13) if picy>picx{ screen 3,picy,picx pos picy/2,picx/2 gmode 0,picx,picy grotate 0,0,0,1.570796;90度 }



HSP2年生

リンク

2007/8/18(Sat) 13:06:54|NO.10495

>サイズを変えないで回転という機能も備わっています。

というか普通は画像の回転とはウィンドウの中の画像だけを回転することでウィンドウごと回転する
のはキャンバスの回転と言います。



mm

リンク

2007/8/18(Sat) 17:36:39|NO.10499

「画像を90度回転させるには」をアゲてもらったのは私のためだと思うのですが
チンプンカンプンです。と、思っていたらHSP2年生さんの記述。参考になりました。
HSPCVにはjpg保存のコマンドがあったので使ってみたのです。
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.