メモ

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;