我正在制作一个执行以下操作的图像处理项目: 从我的电脑上加载图片 - 将位图转换为mat - 在垫子上做一些工作 - 将新垫转换为位图以显示在图片框中
现在的问题是当我看到加载图片的宽度和高度时。它显示宽度与高度相反,例如,如果我的图片是500宽度600高度,那么当我从图片显示这些变量 - >宽度和图片 - >高度显示宽度为600和高度是500
当我从位图更改为mat时,它适用于任何宽度和高度 但它没有相反的作用
所以此转换仅适用于具有相同宽度和高度的图像 任何其他宽度和高度不同的图像都会使代码崩溃
public:void convertmattobitmap(Mat mat){
FromMatToBitmap = gcnew Bitmap(mat.rows, mat.cols);
int red;
int green;
int blue;
Color c;
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
try{
red = mat.at<cv::Vec3b>(y, x)[2];
green = mat.at<cv::Vec3b>(y, x)[1];
blue = mat.at<cv::Vec3b>(y, x)[0];
FromMatToBitmap->SetPixel(x, y, c.FromArgb(red, green, blue));
}
catch (exception e){
}
}
}
}