opencv/opencv_test.cpp

68 lines
1.1 KiB
C++
Raw Normal View History

#include"opencv_test.h"
opencv_t::opencv_t()
{
}
opencv_t::~opencv_t()
{
}
opencv_t* opencv_t::create_new()
{
opencv_t* temp = nullptr;
temp = new opencv_t();
return temp;
}
void opencv_t::visit_xiangsu(Mat& temp)
{
int w = temp.cols;
int h = temp.rows;
int dims = temp.channels();
for (int row = 0; row < h; row++)
{
for (int col = 0; col < w; col++)
{
if (dims == 1)
{
int pv = temp.at<uchar>(row, col);
temp.at<uchar>(row, col) = 255 - pv;
}
else if (dims == 3)
{
Vec3b pv = temp.at<Vec3b>(row, col);
temp.at<Vec3b>(row, col)[0] = 255 - pv[0];
temp.at<Vec3b>(row, col)[1] = 255 - pv[1];
temp.at<Vec3b>(row, col)[2] = 255 - pv[2];
}
}
}
}
void opencv_t::visit_xiangsu(Mat& temp, int a)
{
int w = temp.cols;
int h = temp.rows;
int dims = temp.channels();
for (int row = 0; row < h; row++)
{
uchar* curr = temp.ptr<uchar>(row);
for (int col = 0; col < w; col++)
{
if (dims == 1)
{
int pv = *curr;
*curr++ = 255 - pv;
}
else if (dims == 3)
{
*curr++ = 255 - *curr;
*curr++ = 255 - *curr;
*curr++ = 255 - *curr;
}
}
}
}