今天实现对面部视频的欧拉放大
将感兴趣区域进行欧放大 ,欧拉放大的几个步骤,参考优快云上guifeng93 对欧拉放大的实现步骤
1,RGB转换为 YIQ 。YIQ 是 NTSC 电视机系统所采用的颜色空间,Y 是提供黑白电视及彩色电视的亮度信号,I 代表 In-phase,色彩从橙色到青色,Q 代表 Quadrature-phase,色彩从紫色到黄绿色。
https://blog.youkuaiyun.com/cv_jason/article/details/54971442
解决办法:我们可以通过色域转换矩阵对图像像素的每一个元素进行转换,进而得到最后的结果
RGB转YIQ的转换矩阵为
#include<opencv2\opencv.hpp>
using namespace cv;
int main()
{
Mat src = imread("E:\\1.jpg");
src.convertTo(src, CV_32FC3);
Mat dst = src.clone();
for (int i = 0; i < src.rows; i++)
{
for (int j = 0; j < src.cols; j++){
dst.at<Vec3f>(i, j)[2] = (((0.299*src.at<Vec3f>(i, j)[2] +
0.587*src.at<Vec3f>(i, j)[1] +
0.114*src.at<Vec3f>(i, j)[0])) / 255);
dst.at<Vec3f>(i, j)[1] = (((0.596*src.at<Vec3f>(i, j)[2] +
-0.274*src.at<Vec3f>(i, j)[1] +
-0.322*src.at<Vec3f>(i, j)[0])) / 255);
dst.at<