Я хочу преобразовать код C ++ OpenCV в C # OpenCVSharp.
Но я не знаю, как заменить этот код
cv::Mat mat;
mat.at<cv::vec3b>(int,int)[c] = cv::saturate_cast<uchar>(alpha*(image.at<cv::Vec3b>(i, j)[c]) + beta);
Я уже знаю, что uchar заменяется байтом.но я пробовал много вещей, но я вижу ошибки только в визуальной студии.поэтому я понятия не имею, как с этим справиться.
Это код C ++
cv::Mat TextureFiltering::BrightContrast(const cv::Mat &image, double alpha, int beta)
{
CV_Assert(image.depth() == CV_8U);
cv::Mat result;
result.create(image.rows, image.cols, image.type());
for (int i = 0; i < image.rows; i++)
{
for (int j = 0; j < image.cols; j++)
{
for (int c = 0; c < image.channels(); c++)
{
result.at<cv::Vec3b>(i, j)[c] = cv::saturate_cast<uchar>(alpha*(image.at<cv::Vec3b>(i, j)[c]) + beta);
}
}
}
return result;
}
Это код C # (неполный)
public Mat BrightContrast(Mat m, double alpha, int beta)
{
Mat result = m.Clone();
result.Create(m.Rows, m.Cols, m.Type());
for (int i = 0; i < m.Rows; i++)
{
for (int j = 0; j < m.Cols; j++)
{
for (int c = 0; c < m.Channels(); c++)
{
// I don't know what code to put here.
}
}
}
}
Я ценю ваши ответы.Большое спасибо.