1 #include "../lib/common.h" 2 #include "../lib/args.h" 3 #include "../lib/raw_image_io.h" 4 #include "../lib/image_io.h" 9 int main(
int argc,
const char* argv[]) {
10 get_args(argc, argv,
"image.png out_image.yuv ycbcr420/rgb_planar/rgb_interleaved/mono8/mono16");
13 std::string
mode =
enum_arg({
"ycbcr420",
"rgb_planar",
"rgb_interleaved",
"mono8",
"mono16" });
15 if(mode ==
"ycbcr420") {
16 cv::Mat_<cv::Vec3b> img = cv::imread(in_image_filename, CV_LOAD_IMAGE_COLOR);
18 }
else if(mode ==
"rgb_planar") {
19 cv::Mat_<cv::Vec3b> img = cv::imread(in_image_filename, CV_LOAD_IMAGE_COLOR);
21 }
else if(mode ==
"rgb_interleaved") {
22 cv::Mat_<cv::Vec3b> img = cv::imread(in_image_filename, CV_LOAD_IMAGE_COLOR);
24 }
else if(mode ==
"mono8") {
25 cv::Mat_<uchar> img = cv::imread(in_image_filename, CV_LOAD_IMAGE_GRAYSCALE);
27 }
else if(mode ==
"mono16") {
28 cv::Mat_<uchar> img = cv::imread(in_image_filename, CV_LOAD_IMAGE_GRAYSCALE | CV_LOAD_IMAGE_ANYDEPTH);
31 throw std::runtime_error(
"unknown yuv format");
void export_raw_color(const cv::Mat &img, const std::string &yuv_filename, raw_image_format form)
void export_raw_mono(const cv::Mat &img, const std::string &yuv_filename, int out_bit_depth)
std::string in_filename_arg()
std::string enum_arg(const std::vector< std::string > &options)
int main(int argc, const char *argv[])
std::string out_filename_arg()
void get_args(int argc, const char *argv[], const std::string &usage)