当前位置: 首页 > news >正文

没有网站怎么做链接视频播放器crm营销管理系统

没有网站怎么做链接视频播放器,crm营销管理系统,河南金建建设集团网站,wordpress安装的模板生成两张找不同的图片#xff0c;仅有一处差异#xff0c;并且这个差异要不明显且复杂#xff0c;使得寻找难度增加。 为此#xff0c;我们需要调整之前的代码#xff0c;使得差异更为隐蔽。之前的代码中#xff0c;我们直接在第二张图片中添加了一个红色多边形#xf…生成两张找不同的图片仅有一处差异并且这个差异要不明显且复杂使得寻找难度增加。 为此我们需要调整之前的代码使得差异更为隐蔽。之前的代码中我们直接在第二张图片中添加了一个红色多边形可能过于显眼。 改进思路 差异的隐蔽性 颜色相近将差异部分的颜色设置为与背景或周围图形颜色相近避免过于明显。形状变化对某个已有的复杂形状进行微小的修改而不是新增一个形状。位置微调稍微移动某个形状的位置使其与原图略有不同。 复杂性 增加背景复杂度绘制更多的随机图形增加背景的复杂程度。使用复杂的图案绘制包含细节的图形如带有纹理的多边形。 实现方案 选择一个随机的形状进行修改在绘制图形时记录所有绘制的图形参数如形状类型、位置、大小、颜色等然后随机选择其中一个对其进行微小的修改生成差异。 差异的类型 颜色变化将选定形状的颜色稍微调整使其与原颜色接近但有细微差别。 形状变化改变形状的大小、角度或者对多边形的某个顶点进行微调。 确保差异不明显差异的修改应在视觉上不易察觉需要仔细观察才能发现。 修改后的代码 以下是修改后的完整代码包含详细注释 from PIL import Image, ImageDraw import random# 设置图片尺寸 width, height 800, 600# 创建空白图片 image1 Image.new(RGB, (width, height), white) image2 image1.copy()# 创建绘图对象 draw1 ImageDraw.Draw(image1) draw2 ImageDraw.Draw(image2)# 随机种子保证每次生成的图形相同可选 random.seed(42)# 用于记录所有绘制的形状信息 shapes []# 绘制复杂的图形和形状 for _ in range(300):# 随机选择形状类型shape_type random.choice([rectangle, ellipse, polygon, line])# 随机颜色color tuple(random.choices(range(256), k3))# 随机位置和大小x1, y1 random.randint(0, width), random.randint(0, height)x2, y2 random.randint(0, width), random.randint(0, height)# 保证坐标顺序正确x0, x1 min(x1, x2), max(x1, x2)y0, y1 min(y1, y2), max(y1, y2)bbox [x0, y0, x1, y1]# 随机多边形顶点num_points random.randint(3, 8)points [(random.randint(0, width), random.randint(0, height)) for _ in range(num_points)]# 线条宽度line_width random.randint(1, 5)# 绘制形状并记录shape_info {type: shape_type, color: color, bbox: bbox, points: points, line_width: line_width}if shape_type rectangle:draw1.rectangle(bbox, fillcolor)draw2.rectangle(bbox, fillcolor)elif shape_type ellipse:draw1.ellipse(bbox, fillcolor)draw2.ellipse(bbox, fillcolor)elif shape_type polygon:draw1.polygon(points, fillcolor)draw2.polygon(points, fillcolor)elif shape_type line:draw1.line([x0, y0, x1, y1], fillcolor, widthline_width)draw2.line([x0, y0, x1, y1], fillcolor, widthline_width)# 记录形状信息shapes.append(shape_info)# 在 shapes 中随机选择一个形状进行微小的修改作为差异 diff_shape random.choice(shapes)# 在第二张图片上对该形状进行微小的修改 if diff_shape[type] rectangle or diff_shape[type] ellipse:# 微调颜色new_color tuple((c random.randint(-30, 30)) % 256 for c in diff_shape[color])# 在 image2 上重新绘制该形状使用新的颜色if diff_shape[type] rectangle:draw2.rectangle(diff_shape[bbox], fillnew_color)elif diff_shape[type] ellipse:draw2.ellipse(diff_shape[bbox], fillnew_color) elif diff_shape[type] polygon:# 微调一个顶点的位置idx random.randint(0, len(diff_shape[points]) - 1)original_point diff_shape[points][idx]new_point (original_point[0] random.randint(-15, 15), original_point[1] random.randint(-15, 15))new_points diff_shape[points].copy()new_points[idx] new_point# 在 image2 上重新绘制该多边形使用新的顶点draw2.polygon(new_points, filldiff_shape[color]) elif diff_shape[type] line:# 微调线条的终点x0, y0, x1, y1 diff_shape[bbox]x1_new x1 random.randint(-15, 15)y1_new y1 random.randint(-15, 15)draw2.line([x0, y0, x1_new, y1_new], filldiff_shape[color], widthdiff_shape[line_width])# 保存图片 image1.save(find_difference_image1.png) image2.save(find_difference_image2.png)print(两张找不同的图片已生成find_difference_image1.png 和 find_difference_image2.png) print(提示两张图片仅有一处细微差异快来找找看吧)代码详解 记录绘制的形状信息 使用列表shapes保存每个绘制的形状的信息包括类型、颜色、位置等。 shapes []在绘制形状时保存形状信息 每次绘制形状后将相关信息保存到shapes列表中。 shape_info {type: shape_type, color: color, bbox: bbox, points: points, line_width: line_width} # ... shapes.append(shape_info)随机选择一个形状进行微调 从shapes列表中随机选择一个形状作为差异的目标。 diff_shape random.choice(shapes)根据形状类型进行微调 矩形和椭圆微调颜色使其与原颜色接近但略有不同。 new_color tuple((c random.randint(-30, 30)) % 256 for c in diff_shape[color]) # 重新绘制该形状使用新的颜色多边形微调一个顶点的位置。 idx random.randint(0, len(diff_shape[points]) - 1) original_point diff_shape[points][idx] new_point (original_point[0] random.randint(-15, 15), original_point[1] random.randint(-15, 15)) new_points diff_shape[points].copy() new_points[idx] new_point # 重新绘制该多边形使用新的顶点线条微调线条的终点位置。 x0, y0, x1, y1 diff_shape[bbox] x1_new x1 random.randint(-15, 15) y1_new y1 random.randint(-15, 15) draw2.line([x0, y0, x1_new, y1_new], filldiff_shape[color], widthdiff_shape[line_width])在第二张图片上应用微调 使用draw2在image2上重新绘制被修改的形状。 保存和提示 保存两张图片并提示用户有一处细微差异。 运行结果 执行代码后您将获得两张图片 find_difference_image1.png原始图片。find_difference_image2.png仅有一处细微差异的图片。 提示差异可能是某个形状的颜色略有不同或某个多边形的顶点位置有细微变化需要仔细观察才能发现。 调整参数以增加难度 微调幅度 颜色变化范围random.randint(-30, 30)可以调整为更小的范围如(-15, 15)使差异更不明显。 位置变化范围random.randint(-15, 15)可以减小范围使形状的变化更细微。 增加图形数量 将range(300)中的数字增加如range(500)使背景更加复杂。 形状复杂度 增加多边形的顶点数量使形状更复杂。 num_points random.randint(5, 10)注意事项 随机性 为了保证每次生成的图片一致便于调试我们设置了随机种子random.seed(42)。 如果希望每次生成不同的图片可以移除或更改随机种子。 依赖库 请确保已安装Pillow库 pip install Pillow可能的差异类型 颜色变化颜色的RGB值变化范围在(-30, 30)内视觉上不易察觉。 位置变化形状的位置微调在(-15, 15)像素内变化较小。 验证差异 人工查找 打开两张图片仔细对比尝试找出差异所在。 使用差异检测算法 可以使用之前提供的差异检测代码检测并标记出差异区域。 示例使用差异检测算法 import cv2 import numpy as np# 读取两张图片 img1_color cv2.imread(find_difference_image1.png) img2_color cv2.imread(find_difference_image2.png)# 转换为灰度图 img1_gray cv2.cvtColor(img1_color, cv2.COLOR_BGR2GRAY) img2_gray cv2.cvtColor(img2_color, cv2.COLOR_BGR2GRAY)# 计算差异 diff cv2.absdiff(img1_gray, img2_gray)# 阈值处理 _, thresh cv2.threshold(diff, 15, 255, cv2.THRESH_BINARY)# 使用形态学操作去除噪声 kernel np.ones((3, 3), np.uint8) thresh cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel, iterations2)# 查找差异区域的轮廓 contours, _ cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 绘制差异区域 for contour in contours:area cv2.contourArea(contour)if area 50:x, y, w, h cv2.boundingRect(contour)cv2.rectangle(img2_color, (x, y), (x w, y h), (0, 0, 255), 2)# 显示结果 cv2.imshow(Differences, img2_color) cv2.waitKey(0) cv2.destroyAllWindows()总结 通过上述修改我们生成了两张复杂的“找不同”图片只有一处细微的差异并且这个差异不容易被发现。这样可以满足您对复杂度和隐蔽性的要求。 如果您希望进一步调整差异的难度或类型可以根据需要修改代码中的参数和逻辑。 如有任何问题或需要进一步的帮助请随时告诉我
http://www.pierceye.com/news/266658/

相关文章:

  • 网站建设艾金手指六六12app源码开发公司
  • 山东做网站建设公司排名互联网官网
  • 民宿网站开发方案静态网站源文件下载
  • 绵阳网站建设优化甘肃省安装建设集团公司网站
  • wordpress建站知乎广告设计软件coreldraw教程
  • wordpress注册无法发送邮件保定seo外包服务商
  • 进口外贸网站有哪些wordpress百度统计代码
  • 建筑网站排行国外网站备案流程
  • dw做网站一般是多大的尺寸网站开发运行环境论文
  • 湖北省建设厅政务公开网站聊城开发app公司
  • 石家庄网站建设接单金融软件网站建设公司排名
  • 企企业业网网站站建建设设哪个网站可以做纸箱
  • 国外专门做视频翻译网站吗山西时代网站建设
  • 云南省城乡住房与建设厅网站杭州网站制作平台公司
  • 程序员做网站美工能过关吗深圳品牌折扣店
  • 地产网站设计怎么做网贷网站
  • 公司网站是如何搭建的跨境电商被骗血本无归
  • 品牌网站建设目标vps怎么做多个网站
  • 普陀区建设工程质检网站网站建设 工作方案
  • 三河做网站开发公司虚列成本
  • 网站公司建设网站首页注册资本可以随便填吗
  • 网站做链接的意义是什么意思网站设计与制作
  • 快速开发网站的应用程序网站高中建设工具
  • 备案期间网站可以做竞价吗网站开发四川
  • 盐城网站app建设竣工验收备案查询
  • 河南省建设厅八大员网站相城网页设计
  • 建设电子商务网站要多少钱怎么自己开公司
  • 网站设计分析怎么写5年的室内设计师收入
  • 珠海网站建设服务谷歌关键词排名查询工具
  • 三网站合一系统优化最好的安卓手机