Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://kovayashi.blog120.fc2.com/tb.php/136-cac5d3ca

-件のトラックバック

-件のコメント

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

OpenCVで動画から静止画

環境はOSX 10.6.3

まずはOpenCVのインストール。

>sudo port selfupdate
>sudo port install opencv

で、ソース

#include <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#include <cv.h>
#include <highgui.h>

int main(int argc, char *argv[]) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];

int i = 0;
CvCapture* capture;
IplImage *image = NULL;

if(!(capture = cvCaptureFromFile(argv[1]))) return -1;

while (1) {
image = cvQueryFrame (capture);
if (!image) break;

cvCvtColor(image,image,CV_BGR2RGB);

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
NSData *data = [NSData dataWithBytes:image->imageData length:image->imageSize];
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)data);
CGImageRef imageRef = CGImageCreate(
image->width,
image->height,
image->depth,
image->depth * image->nChannels, image->widthStep,
colorSpace,
kCGImageAlphaNone|kCGBitmapByteOrderDefault,
provider,
NULL,
false,
kCGRenderingIntentDefault
);
CGColorSpaceRelease(colorSpace);//必要?

//UIImage *uiimage = [UIImage imageWithCGImage:imageRef];
NSBitmapImageRep *bitmap_rep = [[NSBitmapImageRep alloc] initWithCGImage:imageRef];
NSImage *nsimage = [[[NSImage alloc] init] autorelease];
[nsimage addRepresentation:bitmap_rep];

NSData *d =[nsimage TIFFRepresentation];
NSString *file = [NSString stringWithFormat:@"%05d.TIFF",i++];
[d writeToFile:file atomically:YES];

CGImageRelease(imageRef);
CGDataProviderRelease(provider);
CGColorSpaceRelease(colorSpace);
}

cvReleaseCapture(&capture);
cvDestroyWindow("CaptureFromFile");

[pool release];
return 0;
}

でmakefile

CC=/usr/bin/gcc
CFLAGS = -O4 -Wall `pkg-config --cflags opencv`
LDFLAGS =
LDLIBS = `pkg-config --libs opencv`
FRAMEWORK = -framework Foundation -framework AppKit
OBJS = op.o
op: $(OBJS)
$(CC) -o $@ $(LDFLAGS) $(OBJS) $(LDLIBS) $(FRAMEWORK)


以下参考にしたページ
http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port
http://opencv.willowgarage.com/documentation/c/reading_and_writing_images_and_video.html#saveimage
http://imagingsolution.blog107.fc2.com/blog-entry-210.html
http://niw.at/articles/2009/03/14/using-opencv-on-iphone/ja
http://wiki.livedoor.jp/mikk_ni3_92/d/IplImage%CA%D403
http://www.mm.media.kyoto-u.ac.jp/members/kawanishi/public/index.php?OpenCV%2FOpenCVを使うプログラムのコンパイル
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://kovayashi.blog120.fc2.com/tb.php/136-cac5d3ca

0件のトラックバック

0件のコメント

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

Appendix

プロフィール

kovayashi

Author:kovayashi
・嫌いなもの
 →好きなもの

・インストール
 →バンドル
・バックアップ
 →アップロード
・努力
 →チート

最近のトラックバック

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。