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

有域名之后怎么自己做网站网络营销策略优化

有域名之后怎么自己做网站,网络营销策略优化,重庆平台网站建设找哪家,网站建设公司注册如果没有方向 往哪里走都是前方 做自己的光 不需要多亮 曾受过的伤 会长出翅膀 大雨冲刷过的天空会更加明亮 流过泪的眼睛也一样 做自己的光 悄悄的发亮 逆风的方向 更容易飞翔 世界怎样在于你凝视它的目光 那未曾谋面过的远方 或许就在身旁 &#x1f3b5…

如果没有方向
往哪里走都是前方
做自己的光 不需要多亮
曾受过的伤 会长出翅膀
大雨冲刷过的天空会更加明亮
流过泪的眼睛也一样
做自己的光 悄悄的发亮
逆风的方向 更容易飞翔
世界怎样在于你凝视它的目光
那未曾谋面过的远方
或许就在身旁
                     🎵 虎妹Huu、承桓《做自己的光》


在图像处理中,识别和检测水印是一项重要任务,特别是在版权保护和验证领域。本文将介绍如何使用OpenCV和Python库来识别图像中的固定水印,即使水印的位置和角度可能不同。我们将使用特征匹配技术来实现这一目标。

安装所需的库

在开始之前,请确保你已经安装了必要的Python库:

pip install opencv-python numpy

代码实现

以下是完整的Python代码,展示了如何从文件夹中读取图像,增强图像颜色以凸显蓝色并降低黑白灰色的影响,然后使用特征匹配技术检测图像中的水印。

import cv2
import numpy as np
import osdef extract_images_from_folder(folder_path):"""从文件夹中读取所有PNG图像并进行预处理"""images = []filenames = []for filename in os.listdir(folder_path):if filename.lower().endswith(".png"):image_path = os.path.join(folder_path, filename)image = cv2.imread(image_path)# 调整图像大小为800x600image = cv2.resize(image, (800, 600))enhanced_image = enhance_colors(image)images.append(enhanced_image)filenames.append(filename)return images, filenamesdef detect_watermark(image, watermark_template):"""使用特征匹配检测图像中是否存在水印"""# 转换为灰度图像gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray_template = cv2.cvtColor(watermark_template, cv2.COLOR_BGR2GRAY)# 使用ORB特征检测器orb = cv2.ORB_create()# 检测关键点和描述符keypoints1, descriptors1 = orb.detectAndCompute(gray_image, None)keypoints2, descriptors2 = orb.detectAndCompute(gray_template, None)# 创建BFMatcher对象bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)# 匹配描述符matches = bf.match(descriptors1, descriptors2)# 根据匹配距离排序matches = sorted(matches, key=lambda x: x.distance)# 设定一个距离阈值,过滤较好的匹配threshold = 70  # 可能需要调整此阈值good_matches = [m for m in matches if m.distance < threshold]# 检查匹配的数量是否足够if len(good_matches) > 80:  # 你可以调整这个阈值return True, good_matcheselse:return False, Nonedef enhance_colors(image):"""增强图像中的其他颜色,降低黑、白、灰的影响"""# 将图像从BGR转换到HSVhsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)# 创建一个掩码,选择非黑白灰色区域# 定义黑色、白色和灰色的范围lower_black = np.array([0, 0, 0])upper_black = np.array([180, 255, 30])lower_white = np.array([0, 0, 200])upper_white = np.array([180, 30, 255])lower_gray = np.array([0, 0, 31])upper_gray = np.array([180, 30, 199])# 创建掩码mask_black = cv2.inRange(hsv_image, lower_black, upper_black)mask_white = cv2.inRange(hsv_image, lower_white, upper_white)mask_gray = cv2.inRange(hsv_image, lower_gray, upper_gray)# 合并掩码mask = mask_black | mask_white | mask_gray# 反转掩码mask = cv2.bitwise_not(mask)# 增强非黑白灰区域的饱和度和亮度hsv_image[:, :, 1] = np.where(mask > 0, hsv_image[:, :, 1] * 2, hsv_image[:, :, 1])  # 增强饱和度hsv_image[:, :, 2] = np.where(mask > 0, hsv_image[:, :, 2] * 1.5, hsv_image[:, :, 2])  # 增强亮度# 将图像从HSV转换回BGRenhanced_image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR)return enhanced_imagedef main(folder_path, watermark_image_path):"""主函数,执行从文件夹读取图像并检测水印的流程"""images, filenames = extract_images_from_folder(folder_path)watermark_template = cv2.imread(watermark_image_path)for i, image in enumerate(images):has_watermark, good_matches = detect_watermark(image, watermark_template)if has_watermark:print(f"Watermark detected in image {filenames[i]} with {len(good_matches)} good matches")else:print(f"No watermark detected in image {filenames[i]}")if __name__ == "__main__":folder_path = "img"  # 替换为包含PNG文件的文件夹路径watermark_image_path = "test.jpg"  # 替换为你的水印图像路径main(folder_path, watermark_image_path)

样本案例

水印案例

在这里插入图片描述

测试案例

在这里插入图片描述

HSV转换之后

在这里插入图片描述

匹配结果
Watermark detected in image img_1.png with 106 good matches
Watermark detected in image img_2.png with 107 good matches
Watermark detected in image img_3.png with 147 good matches
No watermark detected in image img_4.png

代码解析

  1. extract_images_from_folder函数:

    该函数从指定文件夹中读取所有PNG图像,并将它们调整为800x600的大小。
    调用enhance_colors函数增强图像中的其他颜色,降低黑、白、灰的影响。
    返回增强后的图像列表和文件名列表。

  2. detect_watermark函数:

    使用ORB特征检测器检测图像和水印模板中的关键点和描述符。
    使用BFMatcher对象匹配描述符。
    根据匹配距离排序,并过滤较好的匹配。
    如果好的匹配数量超过一个阈值,则认为检测到了水印。

  3. enhance_colors函数:

    将图像从BGR转换到HSV颜色空间。
    定义黑、白、灰色的HSV范围,并创建掩码。
    反转掩码以选择非黑白灰色区域。
    增强非黑白灰色区域的饱和度和亮度。
    将图像从HSV转换回BGR。

  4. main函数

    从指定文件夹中读取所有图像,并调用enhance_colors函数进行处理。
    读取水印图像。
    遍历每一张图像,使用特征匹配来检测水印。
    输出每张图像是否检测到水印及其匹配的质量。

结论

通过这种方法,可以识别具有不同位置和角度的固定类型水印。使用特征匹配技术,即使水印的位置和角度有所变化,也能进行有效的识别和检测。希望这篇文章对你有所帮助。如果有任何问题或需要进一步的修改,请在评论区告诉我。

http://www.ds6.com.cn/news/33661.html

相关文章:

  • 可以做任务赚钱的网站有哪些咨询公司
  • 郑州上海做网站的公司国外服务器免费ip地址
  • 建设的网站服务器百度快速收录工具
  • 做h游戏视频网站如何制作链接推广
  • 购买国外服务器搜索排名优化策划
  • 跨境电商建站公司国外网站排行
  • 东莞工业品网站建设北京网优化seo公司
  • 婚纱网站手机网站seo实战视频
  • 休闲农庄网站软文广告经典案例短的
  • 看希岛爱理做品的网站网页设计作品
  • 网站推广设计网络媒体发稿平台
  • 动漫做那个视频网站营销咨询师
  • 网站建设项目验收付款网站提交收录入口链接
  • 网站的建设方面百度关键词优化多少钱一年
  • 如何做企业网站宣传怎么买域名自己做网站
  • 三合一网站建设官网电商运营工资一般多少钱一个月
  • css色修精华广州排前三的seo公司
  • asp.net 实现 网站的开关网站ip查询
  • 怎样做网站上更改文字seo搜索引擎优化服务
  • 做网站的诈骗8000块钱犯法吗百度搜索引擎网站
  • 房屋3d立体设计软件余姚seo智能优化
  • wordpress 多个域名赣州seo外包
  • seo网站优化对象app推广好做吗
  • 制作 网站导航 下拉菜单优化网站排名方法教程
  • seo+网站排名百度投诉电话人工客服24小时
  • 大同网站建设设计重庆森林在线观看
  • 网站设计类型嘉兴网站建设方案优化
  • 做公司网站有用吗企业网站怎么优化
  • 自建网站怎么做后台管理系统seo网站管理招聘
  • 外贸网站建设深圳百度教育官网