メモ
rgbaの配列をOpenCVで処理して、書き戻すメモ。
メモリを新しく確保しているところが無駄だがとりあえず。
#include <opencv2/core/core.hpp> void Process(unsigned char *data, int w, int h) { // 8bit Unsigned 4Channel cv::Mat image(h, w, CV_8UC4); // input memcpy(&image.at<cv::Vec4b>(0, 0), data, w*h*4); // 処理ネガポジ反転 image = ~image; // output memcpy(data, &image.at<cv::Vec4b>(0, 0), w*h*4); }
↑はだめな方法。
下記のようにできた。
cv::Mat image(h, w, CV_8UC4, data);
// 処理
image = ~image;