Мой старший сказал мне сделать проверку. Затем я использую математическую формулу MAE
:
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main() {
Mat dst;
Mat Sourseimage=imread("C:/Users/蔡晉易天蔡之蔡總統/Desktop/MSRA10K_Imgs_GT - Nr=100/img_ (1).jpg", 1);
Mat groundtruth = imread("C:/Users/蔡晉易天蔡之蔡總統/Downloads/新增資料夾/MSRA10K_Imgs_GT/img_ (1).jpg", 1);
int height = Sourseimage.rows;
int width = Sourseimage.cols;
Mat MAE = Mat::zeros(Size(Sourseimage.size()), CV_32FC1);
for (int y = 0; y < Sourseimage.rows; y++) {
for (int x= 0; x< Sourseimage.cols; x++) {
MAE.at<Vec3f>(y, x) = abs(round((Sourseimage.at<Vec3f>(y, x)[0] - groundtruth.at<Vec3f>(y, x)[0])))+ abs(round( (Sourseimage.at<Vec3f>(y, x)[1] - groundtruth.at<Vec3f>(y, x)[1]))) +abs(round( (Sourseimage.at<Vec3f>(y, x)[2] - groundtruth.at<Vec3f>(y, x)[2])));
}
}
MAE /= width * height;
imshow("result", MAE);
waitKey(0);
}
Затем я выполняю компиляцию, и она показывает эту ошибку:
Может кто-нибудь сказать мне, где это не так? Понятия не имею, пожалуйста ??