Доброго времени суток,
Подскажите как мне изображение которое в формате YUV_NV1 сконвертировать в бинарное?
Я тут нашел EmguCV и код который может файл сделать бинарный, но мне надо из байтов да еще и в другом формате.
Гуглил, искал, не могу вкурть как мне это сделать.
З.Ы. а сама задача — обработка изображение с камеры андроида, для этого мне надо его бинаризировать
OpenFileDialog open = new OpenFileDialog();
//open.Filter = "Image Files (*.tif; *.dcm; *.jpg; *.jpeg; *.bmp)|*.tif; *.dcm; *.jpg; *.jpeg; *.bmp";
int Blue_threshold = 50; //0-255
int Green_threshold = 50; //0-255
int Red_threshold = 50; //0-255
if (open.ShowDialog() == DialogResult.OK)
{
Image<Bgr, Byte> img_colour = new Image<Bgr, Byte>(open.FileName);
pictureBox1.Image = img_colour.ToBitmap(); //Display if you want
pictureBox1.BackgroundImageLayout = ImageLayout.Zoom;
img_colour = img_colour.ThresholdBinary(new Bgr(Blue_threshold, Green_threshold, Red_threshold), new Bgr(255, 255, 255));
pictureBox2.Image = img_colour.ToBitmap();//display results in different picturebox
pictureBox1.BackgroundImageLayout = ImageLayout.Zoom;
}
Здравствуйте, superbober, Вы писали:
S>Доброго времени суток,
S>Подскажите как мне изображение которое в формате YUV_NV1 сконвертировать в бинарное?
S>Я тут нашел EmguCV и код который может файл сделать бинарный, но мне надо из байтов да еще и в другом формате.
S>Гуглил, искал, не могу вкурть как мне это сделать.
S>З.Ы. а сама задача — обработка изображение с камеры андроида, для этого мне надо его бинаризировать
В формате YUV первая составляющая Y — яркость, UV — цветоразностные компоненты. Если стоит задача бинаризации по яркости, то просто рассматриваем первую компоненту. Для этой задачи не обязательно использовать OpenCV (EmguCV).
byte[] yuv = loadBitmapYUV(...);
int width, height, stride;
byte[] bin = new byte[width*height];
for(int y=0;y<height;y++)
{
for(int x=0;x<width;x++)
{
bin[y*width+x] = yuv[x*3+stride*y] > thresold? 0 : 255;
}
}