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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0514
Sakura87CVOBJ_INFO_SIZEYが取得できない4解決


Sakura87

リンク

2007/5/14(Mon) 10:49:06|NO.8236

現在、新しく実装された(?)HSPCVで画像のリサイズプログラムを作っているのですが、
縦横比を維持するために画像のサイズを取得使用と思ったのですが、
cvgetinfo img_h,CVOBJ_INFO_SIZEY,0としたところ、img_hの値が-1になってしまいました。
画像の形式が悪いのかと思い、BMPにしてもJPEGにしても同じ状況になります。
CVOBJ_INFO_SIZEXはきちんと取得できています。
使用環境はHSP 3.1β9で、WindowsXP Media Center Edition 2005です。

また、ソースは以下のとおりです。

#include "hspcv.as" //HSO CV初期化 cvreset //変数初期化 dim img_w dim img_h //ここでcvbufferを使ってみたが状況は変わらず //cvbuffer 0,100,100 //以下のimg変数は画像ファイル名。何か適当に探してください //画像の縦の大きさが400px以下の場合はリサイズが行われません。 //401px以上の画像ファイルにしてください。 img="Snap_0000.bmp" log="変換開始\n" screen 1,640,480 mesbox log,640,480,0,-1 cvload img,0 //画像の解像度取得 ココでYのほうが-1になる cvgetinfo img_w,CVOBJ_INFO_SIZEX,0 cvgetinfo img_h,CVOBJ_INFO_SIZEY,0 if img_w > 400 { //比率固定計算 n=1.0*400/img_w ny=int(double(img_h2)*n) screen 0,400,300,0 //リサイズ 表示 ログ記録 cvresize 400,ny,0,CV_INTER_AREA cvgetimg 0,0 log=log+"画像"+img+"("+img_w+"x"+img_h+")を400x"+ny+"として変換成功\n" gsel 1 objprm 0,log }else { //ログの記録 log=log+"画像"+img+"は縦解像度400px以下なのでスキップしました\n" objprm 0,log } objprm 0,log
何処かおかしい部分があれば指摘をお願いします。
もし無ければβ版と言うことで、バグの可能性が高いのでしょうか?



この記事に返信する


hsp2年生

リンク

2007/5/14(Mon) 12:57:48|NO.8240

cvgetinfo p1,p2,p3
p2:CVバッファID
p3:CVバッファID情報
HSPCV.TXTの記述が間違っているみたいですね。



eller

リンク

2007/5/14(Mon) 17:41:10|NO.8242

はじめまして、ellerと申します。
以前私も同じ症状に引っ掛かっていたのですが、わからないまま放置していました。
しかしhsp2年生さんのご指摘を見て、原因が分かりました。

どうやら現状ではHSPCV.TXTの記述が正しいようです。

cvgetinfo img_w, CVOBJ_INFO_SIZEX, 0 cvgetinfo img_h, CVOBJ_INFO_SIZEY, 0
とすれば正しく取得されました。
バグトラックに報告しておきますのでおそらく次回以降のアップデートで改善されると思いますが、
HSPCV.TXTとヘルプファイルのどちらに統一されるかは分かりません。
今は一時的に上記のように訂正しておいて、アップデート時のアナウンスに注意しておくのが良いのではないでしょうか。



Sakura87

リンク

2007/5/14(Mon) 19:48:24|NO.8248

返答ありがとうございます。
Re: hsp2年生さん
> HSPCV.TXTの記述が間違っているみたいですね。
そうなのですか。
通りでおかしい筈です。

cvgetinfo img_w,0, CVOBJ_INFO_SIZEX cvgetinfo img_h,0, CVOBJ_INFO_SIZEY
とやった結果うまくいきました。

Re:ellerさん
>バグトラックに報告しておきますのでおそらく次回以降のアップデートで改善されると思いますが、
ありがとうございます。
β10を楽しみにしてます。11かな?



eller

リンク

2007/5/14(Mon) 19:52:36|NO.8249

(今更ですが)スクリプトが間違っていましたね。申し訳ないです。



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