OpenCV之摩尔纹

摩尔纹

用数码相机拍摄景物中,如果有密纹的纹理,常常会出现莫名其妙的水波样条纹。这就是摩尔纹。简单的说,摩尔纹是差拍原理的一种表现。从数学上讲,两个频率接近的等幅正弦波叠加,合成信号的幅度将按照两个频率之差变化。差拍原理广泛应用到广播电视和通信中,用来变频、调制等。同样,差拍原理也适用于空间频率。空间频率略有差异的条纹叠加,由于条纹间隔的差异、重合位置会逐渐偏移,也会形成差拍。

摩尔纹的实现

源码:

复制代码
void add_moire_noise(Mat& src,Mat& dst,Point center,int degree)
{
    int width = src.cols;
    int heigh = dst.rows;
    for (int y = 0; y < heigh; y++)
    {
        uchar* data = dst.ptr<uchar>(y);
        uchar* data0 = src.ptr<uchar>(y);
        for (int x = 0; x < width; x++)
        {

            Point offset(x - center.x, y - center.y);
            double theta = atan2((double)offset.y, (double)offset.x);
            double rou = sqrt(pow((double)offset.x, 2) + pow((double)offset.y, 2));

            int newX = center.x + rou * cos(theta + degree * rou);
            int newY = center.y + rou * sin(theta + degree * rou);

            if (newX < 0)
                newX = 0;
            else if (newX >= width)
                newX = width - 1;

            if (newY < 0)
                newY = 0;
            else if (newY >= heigh)
                newY = heigh - 1;

            data[3 * x] = 0.8 * data0[3 * x]+ 0.2 * src.at<uchar>(newY, newX * 3);
            data[3 * x + 1] = 0.8 * data0[3 * x + 1]+ 0.2 * src.at<uchar>(newY, newX * 3 + 1);
            data[3 * x + 2] = 0.8 * data0[3 * x + 2]+ 0.2 * src.at<uchar>(newY, newX * 3 + 2);
        }
    }
}

原图:

摩尔纹:

相关推荐
开开心心就好2 分钟前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
机核研创社3 分钟前
接橡筋机做内裤腰头明橡筋:两段式工艺链的设备分工与参数窗口拆解
人工智能·自动化
海宇数据13 分钟前
零信任架构实战:基于海宇活体识别V步骤1构建自动化考前活体认证网关
运维·人工智能·架构·自动化
Duckdblab13 分钟前
我用 Cloudflare Worker 搭了个 AI 网关,白嫖 Agnes + DeepSeek 双模型,还能给 Hermes 用
人工智能
bullkingluo13 分钟前
从零到一搭建企业级智能问答系统:Ch12 · 结构化输出与工具调用
人工智能·架构·llm
桃西西呀16 分钟前
LangChain 之五:智能体与工具
人工智能·langchain·llm
bullkingluo16 分钟前
从零到一搭建企业级智能问答系统:Ch11 ·大模型调参与效果评测
人工智能·架构·llm
模拟器连接器曾工21 分钟前
一进多出M12分线盒4口8口12口可选 PNP和NPN通用传感器集线器
网络·人工智能·m12分线盒·npn通用传感器集线器·pnp通用传感器集线器
回眸&啤酒鸭22 分钟前
GLM 5.3 Flash 批量处理实战指南
大数据·人工智能
羲云24 分钟前
用 AceData Studio 做 AI 短片:从分镜、首帧到参考图编辑
人工智能