以前載せたプログラムを動作させてみたのですが、たまにコアダンプで落ちます。。。(^^;)
エラー内容をググってみると、opencvのバグが未改修であることが書いてあり、
素晴らしいことに修正内容も載っているサイトもあります。
では、私はというと、、、、とりあえず、もう少しこのまま使用してみようと思います。(^^;)
何度も試してみると、早々に落ちる時と、中々落ちない時とあるので、もう少し様子をみるつもりです。
2012/06/29
2012/06/27
javascriptの処理の順番
javascriptの勉強している中で、geolocationで自分の位置を調べて座標を表示するサンプルに、
google mapを表示する機能を追加しようとしたのですが、javascriptの処理の順番を
気にせず機能を挿入したため、表示されないという事が起きました。
geolocationのサンプルは下のようなつくりになっていました。
そこで実行してみると、地図が表示されない。。。
座標が取得されない?と思い、function callback()内に座標を表示するようにしてみたところ、取得されているようでした。
んんん?と思い、google map処理部分をfunction callback()に移動したところ、問題なく表示されました。
私はてっきり、geolocationの関数を処理した後、google map部分を処理してくれると思っていたのですが。。。
というわけでjavascriptについて、まだまだ分かっていないことを痛切に感じました。。。orz
google mapを表示する機能を追加しようとしたのですが、javascriptの処理の順番を
気にせず機能を挿入したため、表示されないという事が起きました。
geolocationのサンプルは下のようなつくりになっていました。
function a(){そこで、function a()の getCurrentPosition 以降にgoogle mapを表示する処理を追加しました。
navigator.geolocation.getCurrentPosition(callback)
..snip..
}
function callback(position){
座標表示処理
..snip..
}
そこで実行してみると、地図が表示されない。。。
座標が取得されない?と思い、function callback()内に座標を表示するようにしてみたところ、取得されているようでした。
んんん?と思い、google map処理部分をfunction callback()に移動したところ、問題なく表示されました。
私はてっきり、geolocationの関数を処理した後、google map部分を処理してくれると思っていたのですが。。。
というわけでjavascriptについて、まだまだ分かっていないことを痛切に感じました。。。orz
2012/06/21
続テレビロガー
うーん、題名に違和感を感じつつも、続編です。
opencvの顔検出とROIの部分保存の2つのサンプルを糊でくっつけたようなものなので、あまり参考になりません。(^^;)ゞ
とりあえず、評価環境です。
・Ubuntu 12.04
・OpenCV 2.3.1 (apt-getでインストールしました)
・PC: sotec C101
・Camera: Qcam E3500
ROIを保存するファイル名が手抜きになっています。。。
opencvの顔検出とROIの部分保存の2つのサンプルを糊でくっつけたようなものなので、あまり参考になりません。(^^;)ゞ
とりあえず、評価環境です。
・Ubuntu 12.04
・OpenCV 2.3.1 (apt-getでインストールしました)
・PC: sotec C101
・Camera: Qcam E3500
ROIを保存するファイル名が手抜きになっています。。。
int
main(int argc, char *argv[])
{
const char *imagename = argc > 1 ? argv[1] : "../../image/lenna.png";
cv::Mat img;
//Capture routine
cv::VideoCapture cap(0);
cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
if(!cap.isOpened()) return -1;
// cv::namedWindow("Capture", CV_WINDOW_AUTOSIZE|CV_WINDOW_FREERATIO);
cv::namedWindow("result", CV_WINDOW_AUTOSIZE|CV_WINDOW_FREERATIO);
double scale = 4.0;
while(1) {
cap >> img;
// cv::imshow("Capture", img); //output capture image
cv::Mat gray, smallImg(cv::saturate_cast<int>(img.rows/scale), cv::saturate_cast<int>(img.cols/scale), CV_8UC1);
// translation grayscale
cv::cvtColor(img, gray, CV_BGR2GRAY);
// Reduce the image in order to reduce processing time
cv::resize(gray, smallImg, smallImg.size(), 0, 0, cv::INTER_LINEAR);
cv::equalizeHist( smallImg, smallImg);
// Reading of the classifier
std::string cascadeName = "./haarcascade_frontalface_alt.xml"; // v2 Haar-like
// std::string cascadeName = "./haarcascade_frontalface_default.xml"; // v1 Haar-like
//std::string cascadeName = "./lbpcascade_frontalface.xml"; // LBP
cv::CascadeClassifier cascade;
if(!cascade.load(cascadeName))
return -1;
std::vector<cv::Rect> faces;
cascade.detectMultiScale(smallImg, faces,
1.1, 2,
CV_HAAR_SCALE_IMAGE,
cv::Size(10, 10));
// Rendering the result
std::vector<cv::Rect>::const_iterator r = faces.begin();
for(; r != faces.end(); ++r) {
struct timeval tv;
char clipout[200];
cv::Point pt1, pt2; //draw rectangle
int radius; //draw circle
pt1.x = cv::saturate_cast<int>(r->x*3); //draw rectangle
pt1.y = cv::saturate_cast<int>(r->y*3); //draw rectangle
pt2.x = cv::saturate_cast<int>((r->x + r->width)*5); //draw rectangle
pt2.y = cv::saturate_cast<int>((r->y + r->height)*5); //draw rectangle
cv::rectangle( img, pt1, pt2, cv::Scalar(80,80,255), 3, 8, 0 ); //draw rectangle
gettimeofday(&tv, NULL);
sprintf(clipout,"./result/%d.%d.jpg",tv.tv_sec,tv.tv_usec);
cv::Mat roi_img(img, cv::Rect(pt1.x, pt1.y, r->width*7, r->height*7));
cv::imwrite(clipout,roi_img);
}
cv::imshow( "result", img );
cv::waitKey(66);
}
}
2012/06/20
テレビロガー
テレビを特にそれほど見るタイプではないと思うのですが、たまにバラエティーなど見ていると
「誰?」という人物が出演している時がある。
新聞のテレビ欄を見たり、番組情報を見てみても出演者全員が書かれているわけでもなく、
dメニューも同様だったりします。
複数人で見ていれば、「あの人だれ?」と聞ける機会もあるのですが、コーナーが変わって
誰かを聞くタイミングを逃してしまっても、後で「この人誰?」って聞けるようなロガーみたい
なものがあると嬉しいなぁ、とたまに思っていました。
以前、OpenCVというIntelが開発した画像処理のライブラリ群が公開されて、触ってみた
こともあったので、これを使って私の欲求を満たすプログラムができないか検討し、
一通りできあがりました。
次回、ソースを公開します!!
「誰?」という人物が出演している時がある。
新聞のテレビ欄を見たり、番組情報を見てみても出演者全員が書かれているわけでもなく、
dメニューも同様だったりします。
複数人で見ていれば、「あの人だれ?」と聞ける機会もあるのですが、コーナーが変わって
誰かを聞くタイミングを逃してしまっても、後で「この人誰?」って聞けるようなロガーみたい
なものがあると嬉しいなぁ、とたまに思っていました。
以前、OpenCVというIntelが開発した画像処理のライブラリ群が公開されて、触ってみた
こともあったので、これを使って私の欲求を満たすプログラムができないか検討し、
一通りできあがりました。
次回、ソースを公開します!!
2012/06/07
ASUS Eee Pad TF101
ようやく、ICS(Android 4.0.3)にアップデートするニュースが流れました。
http://pc.watch.impress.co.jp/docs/news/20120607_538376.html
いっそのこと、カスタムファームに手を出そうかと悩みましたが、待っていて良かった(か?)。
とにかく、明日が楽しみです。
3.xの時のように、バッテリーの持ちをベンチしなくてもいい状態になっていますように。。。
http://pc.watch.impress.co.jp/docs/news/20120607_538376.html
いっそのこと、カスタムファームに手を出そうかと悩みましたが、待っていて良かった(か?)。
とにかく、明日が楽しみです。
3.xの時のように、バッテリーの持ちをベンチしなくてもいい状態になっていますように。。。
登録:
投稿 (Atom)