ただ今、OpenCVにて、RAW画像を読み込み、その画像を平滑化し、その平滑化した画像をRAWで保存するプログラムを作成中です。
しかし、どうしても、RAW画像を読み込むプログラムを作成することができません。
また、現在0000.rawから0200.rawの連番の画像を一気に読み込みたいと考えております。
原画像0000.rawから2種類の平滑化画像(0000.raw,0001.raw)を作成、
原画像0001.rawから2種類の平滑化画像(0002.raw,0003.raw)を作成、
原画像0002.rawから2種類の平滑化画像(0004.raw,0005.raw)を作成・・・
のような感じでございます。
もし、詳しい方がいらっしゃいましたら、ご享受お願い致します。
※画像のサイズは全て240×360です。
_________________________________
途中まで作成したプログラムを一応貼らせていただきます。
(cv::imreadがraw未対応のため利用できませんでしたが、jpgでしたら動きました。)
どうぞ宜しくお願い致します。
#include "opencv2\\opencv.hpp"
#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <cxcore.h>
#include <cv.h>
#include <math.h>
#include <highgui.h>
#include <fstream>
#include <direct.h>
#include <vector>
int main(int argc, char *argv)
{
cv::Mat image = cv::imread("../0000.jpg",1); // 0000.jpg という画像を読み込み
if(!image.data) return -1;
cv::Mat dst_img1,dst_img2;
//ガウシアンを用いた平滑化
//入力画像、出力画像、カーネルサイズ、標準偏差
cv::GaussianBlur(image, dst_img1, cv::Size(7,1),0,0); //平滑化1種類目
cv::GaussianBlur(image, dst_img2, cv::Size(1,7),0,0); //平滑化2種類目
cv::imwrite ("../blur1.jpg", dst_img1 );
cv::imwrite ("../blur2.jpg", dst_img2 );
cv::waitKey(0);
return 0;
}