2024 年“认证杯”数学建模 D题 AI 绘画带来的挑战

专栏内含有ABCD四题思路和代码,更多详细思路和代码:2024 年“认证杯”数学建模 D题 AI 绘画带来的挑战-CSDN博客

问题一

当从几何角度来审视 AI 绘画时,我们可以关注一些常见的几何原理和规则,例如平行线、垂直线、对称性等。下面是一个思路和示例代码,用于检测可能存在的几何不合理性:

思路:

从图片中提取关键的几何元素,如直线、角度、比例关系等。
根据这些几何元素,检查是否存在不符合常规几何规则的情况,比如平行线不平行、垂直线不垂直等。
如果存在不合理的几何特征,那么可能是由AI绘图软件生成的图片。
示例代码(使用Python和OpenCV):

import cv2
import numpy as np
 
def detect_geometric_inconsistencies(image_path):
    # 读取图片
    image = cv2.imread(image_path)
    # 将图片转换为灰度图
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    # 使用Canny边缘检测算法检测边缘
    edges = cv2.Canny(gray, 50, 150, apertureSize=3)
    # 使用霍夫线变换检测直线
    lines = cv2.HoughLines(edges, 1, np.pi/180, 100)
 
    if lines is not None:
        for rho, theta in lines[:, 0]:
            a = np.cos(theta)
            b = np.sin(theta)
            x0 = a * rho
            y0 = b * rho
            # 计算直线的两个点
            x1 = int(x0 + 1000 * (-b))
            y1 = int(y0 + 1000 * (a))
            x2 = int(x0 - 1000 * (-b))
            y2 = int(y0 - 1000 * (a))
            # 绘制直线
            cv2.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2)
 
    # 显示图片
    cv2.imshow('Detected Lines', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
 
# 示例图片路径
image_path = 'example_image.jpg'
# 检测几何不合理性
detect_geometric_inconsistencies(image_path)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2024年数学建模国赛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值