#include "Gt.h" #include <opencv2/opencv.hpp> using namespace cv; using namespace std; /* * 方法2 单核 */ class LIME_2 { public: Mat img,Wv,Wh; LIME_2(){} Mat maxMAT(cv::Mat &input) { Gt gt; gt.st(); Mat output(input.size(), CV_32FC1); uchar temp; for (int i = 0; i < input.size().height; i++) { for (int j = 0; j < input.size().width; j++) { temp = fmax(input.at<Vec3f>(i, j)[0], input.at<Vec3f>(i, j)[1]); output.at<float>(i, j) = fmax(input.at<Vec3f>(i, j)[2], temp); } } gt.et(); gt.show("max"); return output; } Mat Repeat(Mat& m) { Gt gt; gt.st(); int he = m.size().height; int wi = m.size().width; Mat R(he, wi, CV_32FC3); for (int i = 0; i < he; i++) { for (int j = 0; j < wi; j++) { R.at<Vec3f>(i, j)[0] = m.at<float>(i, j); R.at<Vec3f>(i, j)[1] = m.at<float>(i, j); R.at<Vec3f>(i, j)[2] = m.at<float>(i, j); } } gt.et(); gt.show("repeat");
时间: 2024-04-17 16:22:55 浏览: 121
opencv导入头文件时报错#include的解决方法
你好!这段代码看起来是使用 OpenCV 进行图像处理的。它包含了一个名为 LIME_2 的类,并定义了一些成员变量和成员函数。
在类的构造函数中,没有进行任何初始化操作。
maxMAT() 函数是类的成员函数,用于对输入图像进行最大化处理。它首先创建一个与输入图像大小相同的输出图像 output,并将其初始化为 CV_32FC1 类型的图像。
然后,它遍历输入图像的每个像素点,将其 RGB 通道中的最大值赋给临时变量 temp,然后再将 temp 和蓝色通道的值取最大值,并将结果赋给输出图像对应位置的像素。
Repeat() 函数用于将输入的单通道图像复制为三通道图像。它首先创建一个与输入图像大小相同的输出图像 R,并将其初始化为 CV_32FC3 类型的图像。
然后,它遍历输入图像的每个像素点,将输入图像对应位置的值分别复制给输出图像的三个通道。
在这两个函数中,都使用了 Gt 类来计算并展示函数运行的时间。在每个函数的开始处调用了 gt.st() 来记录开始时间,在函数结束处调用了 gt.et() 来记录结束时间,并使用 gt.show() 来展示经过的时间。
需要注意的是,这段代码中使用了一些 OpenCV 的函数和数据结构,如 Mat、Vec3f 等。
如果你有任何问题,请随时提问!
阅读全文