#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <getopt.h>
#include <drm/drm_fourcc.h>
#include <basetypes.h>
#include <string>
using namespace std;
#include "opencv/highgui.h"
void met_image_CvtBGRtoNV12(unsigned char *nv12Data, unsigned char *bgrData, int width, int height)
{
}
int Convert(char *input, char *output)
{
cv::Mat image_origin;
string inputname = input;
image_origin = cv::imread(inputname, 1);
unsigned char * buff_out;
FILE* out = fopen( output, "w+" );
if ( out == NULL ) {
printf("to_nv12: open file %s failed\n", output);
return -1;
}
buff_out = (unsigned char *)malloc(1824*944*1.5);
met_image_CvtBGRtoNV12(buff_out, image_origin.data,1824,944);
fwrite(buff_out, 1824*944*1.5, 1, out);
fclose(out);
free(buff_out);
return 0;
}
int main(int argc, char **argv)
{
if(argc < 2)
printf("to_nv12: please input read file\n");
char *input_name = argv[1];
printf("to_nv12: input file name:%s \n", input_name);
char *output_name = argv[2];
printf("to_nv12: output file name:%s \n", output_name);
int ret = Convert(input_name, output_name);
if(ret < 0)
printf("to_nv12: convert failed!\n");
return 0;
}