2024年十大AI水印去除工具分享

在当今的数字世界中,水印是图像和视频中常见的现象。它们用于保护版权或标记所有权。但是,有时您出于各种原因需要删除这些水印,例如恢复旧的家庭照片或清理演示文稿的图像。到 2024 年,我们将拥有大量可用于此任务的人工智能设计工具,每种工具都旨在有效地从照片和视频中去除水印。在这里,我们介绍了十大水印去除工具,它们因其效率、易用性和高质量结果而脱颖而出。其中,最好的水印去除选项通常利用人工智能水印去除技术,提供复杂的解决方案来无缝去除照片和视频内容中的水印。 顶级 AI 水印去除工具 1、奇客水印 AI 去除器 水印去除工具用于去除数字内容中的水印,创作者经常使用水印来保护版权。但是,当这些水印具有侵入性时,此工具(包括“图片水印去除器”或“视频水印去除”等选项)可以帮助使内容在视觉上更具吸引力。在法律范围内负责任地使用此工具非常重要,因为未经许可删除水印可能构成版权侵权。其中许多工具,包括AI水印去除器,提供免费去除水印的高级功能,确保内容保留其原始质量,同时增强其美感。 奇客水印管家奇客水印管家,使用最新AI技术,一键智能添加/去除图片和视频水印。https://www.geekersoft.cn/geekersoft-watermark-remover.html主要特征: 用户友好的界面:无论技术专业知识如何,其设计都易于使用。 先进算法:高效检测并去除水印,不留痕迹。 快速处理:快速处理图像或视频以去除水印。 兼容性:支持多种文件格式,包括 JPEG、PNG、BMP、GIF、TIFF、MP4 和 AVI。 基于网络:无需下载或安装。 免费使用:完全免费,没有任何隐藏费用或费用。 安全可靠:采用先进的加密技术保护用户数据并确保机密性。 简单的过程:涉及上传图像或视频,选择水印区域,然后让工具将其删除。 2、ClearView AI 去除器 ClearView AI Remover 以其先进的人工智能技术处于领先地位。它非常人性化,可以精确地从照片和视频中删除水印。在线水印去除工具保持了原始图像的质量,使其成为专业人士和业余爱好者的最爱。无论您是想免费从照片中删除水印还是从图像中删除水印,此在线水印删除程序都可以为您的水印删除需求提供无缝且高效的解决方案。 主要特征: AI 驱动的精度:利用先进的 AI 算法精确去除水印。 批处理:允许同时处理多个图像和视频。 质量保留:确保图像或视频的原始质量保持不变。 3、PhotoMark-Gone Pro 该工具是专门为照片设计的。PhotoMark-Gone Pro 作为照片水印去除器以其简单和高效而闻名。只需上传您的图像,软件就会完成剩下的工作,使其成为从图片中删除水印的无忧选择。它对于去除中小型水印特别有效,确保您可以轻松去除照片上的水印。无论您需要从图片中删除水印还是需要使用在线水印删除程序从视频中删除水印,PhotoMark-Gone Pro 都是满足您水印删除需求的多功能解决方案。 主要特征: 易于使用:极其友好的用户界面,适合初学者。 选择性删除:提供针对特定区域进行水印删除的工具。 高分辨率支持:适用于高分辨率图像,不会造成质量损失。 4、视频清理器 2024 顾名思义,VideoCleaner 2024 是为视频文件量身定制的,使其成为一款出色的视频内容水印擦除器。它支持多种视频格式,并提供简单的水印去除过程,使从视频中删除水印的任务变得轻而易举。它能够在不损失质量的情况下处理高分辨率视频,使其成为需要从照片和视频中删除水印以保持其工作专业质量的摄像师的首选。 主要特征: 视频格式兼容性:支持多种视频格式。 逐帧编辑:允许逐帧进行精确编辑。 实时预览:提供实时预览功能以获取即时反馈。 5、WipeOut 水印去除器 WipeOut 是一款多功能工具,可以很好地处理图像和视频,使其成为市场上最好的水印去除器选项之一。它提供了手动删除功能,这对于那些需要从照片或视频内容中删除水印时想要更多地控制编辑过程的人来说非常有用。该工具还配备了人工智能技术,确保其作为人工智能水印去除器运行,使水印去除过程更顺畅、更快,同时保持原始内容的质量。 主要特征: 双模式:用于自动删除的 AI 模式和用于自定义编辑的手动模式。跨平台兼容性:适用于各种操作系统。综合学习教程:帮助初学者快速入门。 6、隐形盾牌橡皮擦 该工具以其作为水印去除剂的速度而闻名。InvisibleShield Eraser 可以快速从一批图像或视频中删除水印,节省大量时间,使其成为那些寻求免费水印去除器或免费水印去除器解决方案的人的有效选择。虽然速度很快,但它不会影响输出的质量,确保即使使用“无水印”,您的图像和视频也能保持其原始质量。 主要特征:

MAC的Safari浏览器没有声音解决办法

有一段时间没打开电脑,也不知道是系统自动更新或是什么缘故,所有浏览器都无法正常发声。 现象如下: 首先,Safari浏览器无法自动播放声音,下载的360浏览器现象一致,但是播放其他音乐播放软件和视频软件都正常。最离谱的是,先播放一下其他软件的音频,Safari浏览器还能突然发出1~2s的声音,如果你的现象和我一样,而且用了网上找个各种方法均无效,可以参考一下本文的解决方法。 解决过程: (前4条均为在其他网站可找到的常见方法,大家可以按都尝试一下,也可以直接跳到第5条): 1. 按照网上所说,检查各种音频是否开启的设置,通过播放其他音频,确认电脑未处于静音状态。 2. 重启,无效 3. 打开系统偏好设置->声音->播放声音效果的设备->选择“MacBook Pro扬声器”。经确认,我的默认设置就是电脑自带的扬声器,所以不是该设置导致的问题。 4. 点击左上角Safari浏览器->偏好设置->网络->自动播放,将右下角改为“允许全部自动播放”,修改后可以尝试重启,本人尝试后依旧没有效果。 5. 找到电脑里有个软件叫“音频MIDI设置”,如下:logo是钢琴按键。 打开后界面如下:内部包含了本设备可以发声和收声的软件,观察了几个软件的设置发现,我的MacBook Pro扬声器中格式设置部分设置的采样频率为48000,而其他设备的采样频率均为44100,尝试将此选项更改成44100后,播放器立刻发出了声音,有效解决。(我真的没在任何一个网站上找到这种解决方法,也算是瞎猫碰上死耗子了,希望可以帮到大家,少走弯路)

机器学习—— PU-Learning算法

机器学习—— PU-Learning算法 本篇博客将介绍PU-Learning算法的基本概念、基本流程、基本方法,并简单探讨Two-step PU Learning算法和无偏PU Learning算法的具体流程。最后,将通过Python代码实现一个简单的PU-Learning示例,以便更好地理解这些概念和算法。 1. 基本概念 PU-Learning是一种解决类别不平衡问题的机器学习方法,其中类别包括正例(Positive)和未标记样本(Unlabeled)。在PU-Learning中,希望从未标记样本中挑选出可能的负例,以提高分类器性能。 2. 基本流程 PU-Learning的基本流程如下: 从已标记样本中选择一部分正例作为训练集的正例。从未标记样本中选择一部分样本作为训练集的负例。使用选择的正例和负例训练分类器。使用训练好的分类器对未标记样本进行分类,并根据分类结果更新训练集。 3. 基本方法 PU-Learning的基本方法包括: 有偏采样(Biased Sampling):从未标记样本中选择概率较高的样本作为负例。标记传播(Label Propagation):利用已标记样本的信息,通过传播标记来识别未标记样本的类别。概率估计(Probability Estimation):估计未标记样本属于正例的概率。 4. Two-step PU Learning算法 Two-step PU Learning算法是一种常见的PU-Learning方法,其基本流程如下: 第一步:有偏采样(Biased Sampling):从未标记样本中选择概率较高的样本作为负例,构建训练集。第二步:训练分类器(Train Classifier):使用选择的正例和负例训练分类器。 5. 无偏PU Learning算法 无偏PU Learning算法通过对未标记样本进行加权来减少有偏性,其基本流程如下: 计算正例和负例的相似度(Calculate Similarity):计算未标记样本与已标记样本的相似度。根据相似度进行加权(Weighting):根据相似度对未标记样本进行加权,以减少有偏性。训练分类器(Train Classifier):使用加权后的样本训练分类器。 6. 程序示例 下面是一个简单的Python实现PU-Learning的示例代码: import numpy as np import matplotlib.pyplot as plt from sklearn.svm import SVC class PUClassifier: def __init__(self, positive_ratio=0.5, negative_ratio=0.5): self.positive_ratio = positive_ratio self.negative_ratio = negative_ratio self.classifier = SVC() def fit(self, X, y): positive_samples = X[y == 1] negative_samples = X[y == 0] # Biased Sampling positive_indices = np.

如何学习人工智能AI技术

目录 1.基础知识准备 2.软件环境 3.理论学习 4.常见人工智能技术 5.样本库 5.1 图像识别与计算机视觉 5.2自然语言处理 5.3语音识别与合成 5.4其他领域 6.算力 学习人工智能是一项系统性的任务,涉及到理论知识、编程技能、算法理解、项目实践等多个层面。下面是一个从易到难的具体学习流程,以及所需掌握的编程软件与开发环境. 1.基础知识准备 数学基础:学习线性代数、微积分、概率论与统计学,这些是理解和应用人工智能算法的基础。 编程基础:选择一种编程语言作为入门工具。 Python:大多数AI项目都使用Python,因其丰富的库和框架,如NumPy、Pandas、Matplotlib等。Python由于其简洁易学、丰富的AI库支持而成为首选。 神经网络基础:理解多层感知器(MLP)、反向传播、激活函数(如ReLU、sigmoid、tanh)、损失函数(如均方误差、交叉熵)等概念。深度学习框架:学习使用至少一个深度学习框架,如TensorFlow或PyTorch,掌握模型构建、数据输入管道、训练循环、保存与加载模型等。CNN与RNN:理解卷积神经网络(CNN)用于图像处理,循环神经网络(RNN、LSTM、GRU)用于序列数据处理的应用场景和实现细节。深度学习应用:实践至少一个图像分类、物体检测、自然语言处理(NLP)或生成模型项目,如MNIST手写数字识别、CIFAR-10图像分类、IMDB电影评论情感分析、文本生成等。 MATLAB: MATLAB是一款强大的数值计算和数据分析软件,尤其在工程和科研领域广受欢迎。对于学习人工智能(AI)而言,MATLAB提供了丰富的内置函数、工具箱以及可视化界面,使得用户能够快速实现和探索各种AI算法。 机器学习工具箱(ML Toolbox):包含多种监督学习、无监督学习和强化学习算法,如线性回归、逻辑回归、SVM、K-means、决策树、神经网络、集成方法等。深度学习工具箱(Deep Learning Toolbox):支持构建、训练、验证和部署深度神经网络,包括CNN、RNN、LSTM、GRU、Autoencoder、GAN等。Statistics and Machine Learning Toolbox:提供统计分析、预测建模、回归诊断等功能,以及更高级的机器学习算法。Reinforcement Learning Toolbox:用于设计和模拟强化学习 agents,包括Q-learning、DQN、SARSA、Policy Gradient等算法。 2.软件环境 熟悉至少一种集成开发环境(IDE),如PyCharm、VS Code或Jupyter Notebook。 安装编程环境:下载并安装Python解释器(如Anaconda),它包含了Python运行环境及许多科学计算库。 熟悉开发工具:使用集成开发环境(IDE)如PyCharm、VS Code等,它们提供了代码编辑、调试、版本控制等功能,有助于高效编程。 配置AI库:安装必要的AI库,如NumPy、Pandas用于数据处理,Matplotlib、Seaborn用于数据可视化,TensorFlow、PyTorch用于深度学习模型构建。 3.理论学习 基础理论学习:理解监督学习、无监督学习、强化学习等基本概念,掌握回归、分类、聚类、神经网络等核心算法。 实战练习:通过Kaggle竞赛、公开数据集或在线教程中的实践项目,动手实现简单的机器学习模型,如逻辑回归、决策树、支持向量机等。 理论深化:学习卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)、注意力机制、Transformer等深度学习架构。 框架使用:熟练使用TensorFlow、PyTorch等深度学习框架进行模型搭建、训练、调优和部署。 实践项目:尝试图像分类、物体检测、自然语言处理(NLP)等领域的深度学习应用,如图像识别、文本分类、聊天机器人等。 特定领域知识: 1.自然语言处理(NLP):学习词嵌入、语言模型、命名实体识别、情感分析、机器翻译等技术。 2.计算机视觉(CV):掌握图像预处理、特征提取、目标检测、语义分割等方法。 3.强化学习(RL):理解马尔可夫决策过程、Q-learning、策略梯度、深度强化学习等算法,并应用于游戏AI、机器人控制等领域。 4.常见人工智能技术 机器学习: 监督学习(如逻辑回归、支持向量机、随机森林)、无监督学习(如聚类、主成分分析、自编码器)、半监督学习、强化学习。 深度学习: 卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)、Transformer、生成对抗网络(GAN)。 自然语言处理: 词嵌入(如Word2Vec、GloVe、BERT)、词性标注、命名实体识别、句法分析、文本分类、情感分析、机器翻译、问答系统。 计算机视觉: 图像分类、物体检测、语义分割、实例分割、目标跟踪、图像生成、风格迁移、全景拼接。 强化学习: Q-learning、SARSA、深度Q网络(DQN)、双DQN、策略梯度方法、Actor-Critic算法、Proximal Policy Optimization (PPO)、Deep Deterministic Policy Gradient (DDPG)。 其他:知识图谱、推荐系统、语音识别、自动驾驶、生物信息学应用等。

使用sad talker制作AI数字人视频-【Stable Diffusion 实战教程】

使用sad talker制作AI数字人视频-【Stable Diffusion 实战教程】 目录 StableDiffusion安装-请访问下面文章 TTS 也就是 Text-to-speech 文字转语音 有问题可以私信 sad talker安装流程. 下载sadTalker插件所需要的模型与离线包文件​ checkpoint文件下载和配置 GFPGAN模型下载​-人脸增强模型 数字人效果请访问下面链接 StableDiffusion安装-请访问下面文章 5分钟 Stable Diffusion 本地安装-本地部署(秋叶整合包)【Stable Diffusion 实战教程】_stable diffusion 秋叶整合包-CSDN博客 5分钟安装包,Stable Diffusion-安装(整合版),点击链接即可保存。 链接:夸克网盘分享 提取码:vSjh TTS 也就是 Text-to-speech 文字转语音 TTS 也就是 Text-to-speech,文字转语音可以说是视频创作者的福音了,前有剪映的小帅小美,后有 AI 音频爆发后的各种声音,通过消除对配音演员和录制会话的需求,大大减少了制作时间和成本。现在可以凭借 AI 音频多样化的可自定义语音和口音,使得创作者能够提高视频和语音内容的质量、创作更多引人入胜的内容,更好的吸引观众并将他们的视频提升到一个新的水平。 下面将给给大家介绍几款主流好用的 TTS 类音频软件: ​ 一款免费的语音转文字的线上应用,短小精悍,页面十分简洁,基本上属于上手就能用的软件,不需要配置各种代码,内置了已经训练好的几十种声音可供选择,包括不但不限于:中文及各国语言,甚至还有粤语等方言,甚至还有经典的渣渣辉的声音。用来直接做短视频的配音还是很有特色的。一大亮点在于内置了训练好的各种游戏或动画中二次元角色的声音,可以直接使用,做短视频或者有兴趣的同学可以打开思路进行创作。 有问题可以私信 sad talker安装流程. 打开stable diffusion 中扩展栏目,从网页下载sad talker插件,下载完之后可以在installed处检查会出现sadtalker的标志,如果有就下载成功了,如果没有可能是因为网络原因,多试几次,如果不行那就上gitup下载,并把下载后的插件放到sd栏目中的,E:\stable-diffusion-webui\extensions文件中。 打开 Stable Diffusion WebUI 选择 Extensions -》从 URL 安装,安装地址填写:https://github.com/OpenTalker/SadTalker 下载sadTalker插件所需要的模型与离线包文件​ 在我们第一步安装插件后,大家重启webui便能看到SadTalker的tab选项,如下所示: 但是 sadtalker 的插件的运行需要我们下载两部分内容,一部分是checkpoint,一部分是GFPGAN模型. ​ checkpoint文件下载和配置 checkpoint : 指的是运行sadtalker插件需要的基础模型,如:预训练模型、构造脸部说话姿势等工具模型。下面提供两种下载地址:​

让 stable diffusion 局域网访问:详细解析配置步骤【Stable Diffusion 实战教程】

有不会的,请私信 5分钟 Stable Diffusion 本地安装-本地部署(秋叶整合包)【Stable Diffusion 实战教程】 https://blog.csdn.net/jybaby/article/details/136796609 排查 stable-diffusion-webui 局域网访问问题:详细解析配置步骤 引言: 在部署 stable-diffusion-webui 后,确保其在局域网内可访问是使用该工具的关键一步。如果您遇到了局域网无法访问的问题,本文将帮助您详细检查和配置 stable-diffusion-webui,以确保其在您的网络环境中正常工作。 一、理解 stable-diffusion-webui 的运行机制 stable-diffusion-webui 是一个基于 Flask 框架的 Web 应用,它允许用户通过浏览器与 stable-diffusion 模型进行交互。默认情况下,Flask 应用通常只监听本地回环地址(127.0.0.1),这意味着它只能在部署服务的同一台机器上访问。 二、检查监听地址和端口 stable-diffusion-webui 的启动脚本通常位于项目的根目录下,其完整名称可能因安装方式和操作系统不同而有所变化。以下是一些常见的完整文件名: 在 Windows 上,如果您使用的是 Anaconda 环境,启动脚本可能名为:stable-diffusion-webui\webui.bat 在 macOS 或 Linux 上,启动脚本可能名为:stable-diffusion-webui/launch.py 如果您在非特定环境(如直接从源代码编译)下,启动脚本可能名为:launch.py 在某些情况下,启动脚本可能被创建为可执行文件,这时它的名称可能会有所不同,例如:stable-diffusion-webui/webui.sh 请注意,这些文件名可能因您的具体安装环境和版本而有所不同。在启动 stable-diffusion-webui 之前,请确保您已经正确安装了所有必要的依赖项,并且您的环境变量设置正确。您可以通过在命令行中运行 which stable-diffusion-webui(在 Linux 或 macOS 上)或 where stable-diffusion-webui(在 Windows 上)来查找启动脚本的实际位置。 要使 stable-diffusi on-webui 能够在局域网内被访问,您需要确保它监听的是正确的网络接口和端口。在 stable-diffusion-webui 的启动脚本中,通常会有一个参数来控制监听地址。例如,您可能会看到这样的参数: parser.add_argument('--host', type=str, default='127.0.0.1', help='Host to bind to') 这个参数默认设置为 ‘127.

Python 后端 Flask 使用 Flask-SocketIO、前端 Vue3 实现长连接 Websocket 通信详细教程(更新中)

Flask 安装 Flask-Socketio Flask-SocketIO 第三方库使 Flask 应用程序可以实现客户端和服务器之间的低延迟双向通信。客户端应用程序可以使用 Javascript、Python、C++、Java 和 Swift 中的任何 SocketIO 客户端库或任何其他兼容客户端来建立与服务器的永久连接。 Flask-Socketio 官方文档网站 网站地址:https://flask-socketio.readthedocs.io/en/latest/ 初始化源码 from flask import Flask, request from flask_socketio import SocketIO app = Flask(__name__) from flask_cors import * CORS(app, supports_credentials=True) app.config['SECRET_KEY'] = 'EDGEHACKER520!' socketio = SocketIO(app, cors_allowed_origins='*') name_space = '/echo' @socketio.on('connect', namespace=name_space) def champion_connect(): print(request) return True @socketio.on('disconnect', namespace=name_space) def champion_disconnect(): pass if __name__ == '__main__': print("启动成功") socketio.run(app, host='0.0.0.0', port=3000, debug=False) 常见报错:[2024-03-23 17:15:53,830] WARNING in __init__: WebSocket transport not available.

AIGC时代的数字化转型核心 Springboot集成数据治理神器

大数据Hadoop 生态的三大部件的目录 往期热门专栏回顾前言1、HDFS2、Yarn3、Hive4、HBase4.1.特点4.2.存储 5、Spark及Spark Streaming关于作者 往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc等实战操作 Java基础篇Java基础闲聊,已出HashMap、String、StringBuffer等源码分析,JVM分析,持续更新中 Springboot篇从创建Springboot项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回、全局异常处理、Swagger文档 Spring MVC篇从创建Spring MVC项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回 华为云服务器实战华为云Linux服务器上操作nginx、git、JDK、Vue等,以及使用宝塔运维操作添加Html网页、部署Springboot项目/Vue项目等 Java爬虫通过Java+Selenium+GoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等 Vue实战讲解Vue3的安装、环境配置,基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等 Spring讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等 前言 进入大数据阶段就意味着进入NoSQL阶段,更多的是面向OLAP场景,即数据仓库、BI应用等。 大数据技术的发展并不是偶然的,它的背后是对于成本的考量。集中式数据库或者基于MPP架构的分布数据库往往采用的都是性能稳定但价格较为昂贵的小型机、一体机或者PC服务器等,扩展性相对较差;而大数据计算框架可以基于价格低廉的普通的硬件服务器构建,并且理论上支持无限扩展以支撑应用服务。 在大数据领域中最有名的就是 Hadoop 生态,总体来看,它主要由三部分构成:底层文件存储系统 HDFS(Hadoop Distributed File System,Hadoop 分布式文件系统)、资源调度计算框架 Yarn(Yet Another Resource Negotiator,又一个资源协调者)以及基于 HDFS 与 Yarn的上层应用组件,例如 HBase、Hive 等。一个典型的基于 Hadoop 的应用如下图所示。 图片▲图 一个典型的 Hadoop 应用 1、HDFS HDFS 被设计成适合运行在通用硬件(Commodity Hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点,例如典型的 Master-Slave 架构(这里不准备展开介绍),也有不同点,HDFS 是一个具有高度容错性的系统,适合部署在廉价的机器上。关于HDFS 这里主要想说两点,默认副本数的设置以及机架感知(Rack Awareness)。 HDFS 默认副本数是 3,这是因为 Hadoop 有着高度的容错性,从数据冗余以及分布的角度来看,需要在同一机房不同机柜以及跨数据中心进行数据存储以保证数据最大可用。因此,为了达到上述目的,数据块需要至少存放在同一机房的不同机架(2 份)以及跨数据中心的某一机架(1 份)中,共 3 份数据。 机架感知的目的是在计算中尽量让不同节点之间的通信能够发生在同一个机架之 内,而不是跨机架,进而减少分布式计算中数据在不同的网络之间的传输,减少网络带 宽资源的消耗。例如当集群发生数据读取的时候,客户端按照由近到远的优先次序决定 哪个数据节点向客户端发送数据,因为在分布式框架中,网络 I/O 已经成为主要的性能瓶颈。

[Flutter]打包IPA

1.直接使用Xcode运行iOS工程 不用flutter构建,在Xcode中是可以独立进行构建运行和打包发布的。 1).运行项目 先将flutter的build清理 $ flutter clean $ flutter pub get 然后立即用XCode打开iOS工程运行 运行会报错: error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. 提示你需要先打开终端,cd到iOS工程目录执行pod install,然后再运行项目。 $ pod install 到这里,项目就已经正常运行到手机。 2).查看构建内容 Commond + Shift + G 进入~/Library/Developer/Xcode/DerivedData目录,查看构建内容。 我们会在Debug-iphoneos中看到一个Runner.app,这个Runner.app 是一个iOS应用程序包。它是一个可执行的应用程序目录,包含了所有的资源和编译后的代码,用于在 iOS 设备或模拟器上运行。 右键选择“显示包内容”,我们会看到一个名为“Runner”的Mach-O文件。Mach-O (Mach Object) 文件格式是 macOS 和 iOS 操作系统用于可执行文件、目标代码、共享库和核心转储的文件格式。 另外,还可看到所有的资源和依赖的框架。 3).打包 在Xcode,进入Product -> Scheme -> Edit Scheme 左边选择“Archive”,右侧设置“Build Configuration”控制打包出来的IPA是什么环境。 然后,到Product选择Archive以构建和归档应用。 归档完成后,在 Organizer 中选择您的归档。

Android9.0以后不允许HTTP访问的解决方案

背景 自 Android 9.0 起,默认禁止使用 HTTP 进行访问。当尝试使用 HTTP 链接时,将会收到以下错误信息: "Cleartext HTTP traffic to " + host + " not permitted" 为了解决这一问题,下面介绍两种破解方法: XML布局设置 在 Android 9.0 及以上版本,需要通过以下配置允许 HTTP 访问。在 android/app/res 目录下新建 network_security_config.xml 文件,内容如下: <network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> </network-security-config> 然后在 android/app 目录下的 AndroidManifest.xml 文件中的 application 标签内声明文件: android:usesCleartextTraffic="true" android:networkSecurityConfig="@xml/network_security_config" 其实只需在 AndroidManifest.xml 文件中的 application 标签内声明 android:usesCleartextTraffic="true" 就可以了。如果还有特殊的配置,则需要配置 networkSecurityConfig 文件。另外需要说明的是,networkSecurityConfig 文件中的 cleartextTrafficPermitted 属性会优先于 application 标签内的 usesCleartextTraffic,这意味着,即使在 application 标签中设置了 android:usesCleartextTraffic="false",但在 networkSecurityConfig 文件中设置了 cleartextTrafficPermitted="

【前端】rtsp 与 rtmp 视频流的播放方法,最终入职阿里

方法一 、浏览器安装插件 【这是一个不推荐的方案】 因为,IE浏览器需要安装插件,火狐需要安装插件,谷歌浏览器需要安装插件,所有的的浏览器都需要安装插件才能在浏览器上直接播放 rtsp 视频流;而且插件都不一样,而且插件只有很旧版本的谷歌、火狐浏览器才可以支持使用;较新一点的浏览器都不支持这种方法了。 举个例子、谷歌浏览器需要安装 vlc 插件,依靠这个插件才能让 RTSP 协议在网页上能播放,但是目前高版本的 Chrome 浏览器不支持 NPAPI 插件,也就是说高版本的 Chrome 浏览器还是不能播放(46以上的版本都不行)。 所以、这种方案极其不推荐,建议你也别去试了! 方法二、转 rtmp 将 rtsp 转 rtmp;这种方案,后端将 rtsp 视频流转换成 rtmp 视频流。 RTMP 是 Macromedia 开发的一套视频直播协议,属于 Adobe。想要在浏览器中实现 rtmp 推流,就必须借助 flash 的帮助。而且 HTML5 规范里面并没有针对 RTMP 的实现。毕竟这个协议标准是 Adobe 公司指定的。 但是现在是 2021 年了,谷歌浏览器不再支持 Flash 了,Flash 也不再更新,建议用户卸载了;所以浏览器直播播放 rtmp 的方式也不推荐。 方法三、转码推流 抛开上面两种思路以后,借助后端转码推流将是必要的操作 常见的包括但不限于以下几种: 转 flv 转 websocket 转 http-flv 转 m3u8 转 hls 1、 rtsp 转 flv 源码教学;这个很详细了,然后关于 ffmpeg 的安装与使用:ffmpeg的安装与使用 ;ffmpeg 安装包我已经下载好并上传了,自取 => ffmpeg 安装包

rabbitMQ的基础操作与可视化界面

当你安装好RabbitMq时,可以 尝试一下,这些命令 启动rabbitMQ服务 #启动服务 systemctl start rabbitmq-server #查看服务状态 systemctl status rabbitmq-server #停止服务 systemctl stop rabbitmq-server #开机启动服务 systemctl enable rabbitmq-server web可视化界面 安装可视化界面开启Linux端口重启防火墙开启云服务器安全组 #安装可视化界面 rabbitmq-plugins enable rabbitmq_management #开启端口 [root@iZf8zhsqf64x47n1tpdy6oZ rabbitmq]# firewall-cmd --zone=public --add-port=15672/tcp --permanent #重启防火墙 firewall-cmd --reload #需要开启远程安全组 授权操作 远程服务器的一般是不可以使用guset访问,所以要设置账户 #新增用户 rabbitmqctl add_user admin admin #设置用户分配操作权限 #administrator可以登录控制台、查看所有信息,可以对rabbitmq进行管理 学习阶段建议使用 #monitoring 监控者 可以登录控制台、查看所有信息 #policymaker 策略指定者 登录控制台指定策略 #managment 普通管理员 登录控制台 rabbitmqctl set_user_tags admin administrator 进入成功 用户权限的操作 rabbitmqctl add_user 账号 密码 rabbitmqctl set_user_tags 账号 administrator rabbitmqctl change_password 账号 新密码1 修改密码 rabbitmqctl delete_user 用户名 删除用户

[linux] ubuntu 下安装qtcreate遇到“无法加载Qt平台插件‘xcb’问题”解决方案

[linux] ubuntu 下安装qtcreate遇到“无法加载Qt平台插件‘xcb’问题”解决方案 以下是遇到的三种报错情况 From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin. Could not load the Qt platform plugin “xcb” in “” even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: wayland-egl, xcb, linuxfb, vnc, minimalegl, vkkhrdisplay, offscreen, eglfs, minimal, wayland. 解决方案 终端命令行输入命令先更新,确保自己已经安装下面内容

Python 操作 MySQL 的5种方式

由于MySQL-python(MySQLdb)年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。安装方式和 MySQLdb 是一样的,Windows 可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 网站找到 对应版本的 whl 包下载安装。 pip install mysqlclient 3、PyMySQL PyMySQL 是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQL-python pip install PyMySQL 为了兼容mysqldb,只需要加入 pymysql.install_as_MySQLdb() 例子: ‘’’ 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ‘’’ import pymysql conn = pymysql.connect(host=‘127.0.0.1’, user=‘root’, passwd=“pythontab.com”, db=‘testdb’) cur = conn.cursor() cur.execute(“SELECT Host,User FROM user”) for r in cur: print® cur.close() conn.close() 4、peewee 写原生 SQL 的过程非常繁琐,代码重复,没有面向对象思维,继而诞生了很多封装 wrapper 包和 ORM 框架,ORM 是 Python 对象与数据库关系表的一种映射关系,有了 ORM 你不再需要写 SQL 语句。提高了写代码的速度,同时兼容多种数据库系统,如sqlite, mysql、postgresql,付出的代价可能就是性能上的一些损失。如果你对 Django 自带的 ORM 熟悉的话,那么 peewee的学习成本几乎为零。它是 Python 中是最流行的 ORM 框架。

人大金仓国产数据库与PostgreSQL

一、简介 在前面项目中,我们使用若依前后端分离整合人大金仓,在后续开发过程中,我们经常因为各种”不适配“问题,但可以感觉得到大部分问题,将人大金仓视为postgreSQL就能去解决大部分问题。据了解,Kingbase 是基于 开源数据库 PostgreSQL 开发的,大部分功能与 PostgreSQL兼容。Kingbase 8 是基于 PostgreSQL 9.6 的。那么下面我们来分析下具体哪些不同,也方便程序猿们在开发中更高效的去解决业务场景中出现的问题 二、具体差异 2.1 进程结构基本一致 KingbaseES和PostgreSQL启动后的后台进程 Kingbase: postgreSQL: 和pg(9.6版本)相比,除了kinbaseES多了一个logger process和一个bgworker:sysloglical supervisor外,其他的后台进程完全是一模一样的,连名字都没变。 在更高一点的版本中,对比就会发现,几乎完全一致。这里也不难理解为什么使用navicat中postgreSQL的连接方式能够管理人大金仓数据库了。 2.2 JDBC postgresql 9.6 kingbase 8 driver_class org.postgresql.Driver com.kingbase8.Driver url jdbc:postgresql://127.0.0.1:5432/postgres jdbc:kingbase8://127.0.0.1:54321/kingbase jdbc 的 jar postgresql.jdbc-9.0.jar <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql.jdbc</artifactId> <version>9.0</version> </dependency> kingbase8-8.2.0.jar <dependency> <groupId>com.kingbase8</groupId> <artifactId>kingbase8-jdbc</artifactId> <version>8.2.0</version> </dependency> hibernate 的jar hibernate-5.0.12.jar <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>5.0.12</version> </dependency> hibernate-3.6.0-dialect-1.0.jar <dependency> <groupId>com.kingbase</groupId> <artifactId>hibernate-3.6.0-dialect</artifactId> <version>1.0</version> </dependency> hibernate方言 org.hibernate.dialect.PostgreSQL9Dialect org.hibernate.dialect.Kingbase8Dialect 引用资料:PostgreSQL 与 Kingbase 的差异对比 - 草色青青送马蹄 - 博客园 (cnblogs.

国内怎么使用Midjourney(终于找到免费版)

随着人工智能的大火,不管是职场人还是自由职业者,使用AI绘画工具已经成为当下必备技能,其中Midjourney便是最受大家青睐的AI绘画工具,但是由于种种原因,国内使用Midjourney非常不凡便,功夫不负有心人,我终于找到了一款体验极佳的国内版Midjourney,今天就分享给大家。 添加图片注释,不超过 140 字(可选) 国内用户使用Midjourney不仅需要创建Discord 帐户,还需要用梯子,最重要的是,其价格非常昂贵,就拿最便宜的一档来说,需要10美元/月,而且每月只能生成200张图。 作为一个资深白嫖党,一定要将免费进行到底,经过我的层层筛选,终于找到一个,注册后便能免费体验,后续也能通过邀请新用户获得积分一直免费用下去 Midjourney国内版http://dy.midjourney9.com//?channel=101545 手机端可复制链接在浏览器打开 全中文界面 简单易上手 操作界面全中文语言,提示词输入框、版本选择、出图参数设简单明了,非常符合国内用户的使用习惯。 案例很多,可以一键话筒款 对于很多AI绘画小白而言,初期绘画时可能没有灵感,midjourney国内版在灵感广场内与很多绘画案例供参考,也可以以简化同款。 多端通用 另外,国内版midjourney有个非常棒的地方,那就是支持PC、移动端网站、小程序同时使用,比如你在PC端的绘画任务,在小程序上能同步看到,也能同步绘画。 Midjourney国内版http://dy.midjourney9.com//?channel=101545 手机端可复制链接在浏览器打开

SurfaceView及TextureView对比,7年老Android一次坑爹的面试经历

SurfaceView中双缓冲? TextureView是什么? TextureView优点及缺点? 两者的性能相比如何? 播放器应该选择谁? SurfaceView是什么? 它继承自类View,因此它本质上是一个View。但与普通View不同的是,它有自己的Surface。有自己的Surface,在WMS中有对应的WindowState,在SurfaceFlinger中有Layer。我们知道,一般的Activity包含的多个View会组成View hierachy的树形结构,只有最顶层的DecorView,也就是根结点视图,才是对WMS可见的。这个DecorView在WMS中有一个对应的WindowState。相应地,在SF中对应的Layer。而SurfaceView自带一个Surface,这个Surface在WMS中有自己对应的WindowState,在SF中也会有自己的Layer。虽然在App端它仍在View hierachy中,但在Server端(WMS和SF)中,它与宿主窗口是分离的。这样的好处是对这个Surface的渲染可以放到单独线程去做,渲染时可以有自己的GL context。这对于一些游戏、视频等性能相关的应用非常有益,因为它不会影响主线程对事件的响应。但它也有缺点,因为这个Surface不在View hierachy中,它的显示也不受View的属性控制,所以不能进行平移,缩放等变换,也不能放在其它ViewGroup中,一些View中的特性也无法使用。 SurfaceView优点及缺点 优点:可以在一个独立的线程中进行绘制,不会影响主线程 使用双缓冲机制,播放视频时画面更流畅 缺点:Surface不在View hierachy中,它的显示也不受View的属性控制,所以不能进行平移,缩放等变换,也不能放在其它ViewGroup中。SurfaceView 不能嵌套使用 SurfaceView中双缓冲 双缓冲:在运用时可以理解为:SurfaceView在更新视图时用到了两张Canvas,一张frontCanvas和一张backCanvas,每次实际显示的是frontCanvas,backCanvas存储的是上一次更改前的视图,当使用lockCanvas()获取画布时,得到的实际上是backCanvas而不是正在显示的frontCanvas,之后你在获取到的backCanvas上绘制新视图,再unlockCanvasAndPost(canvas)此视图,那么上传的这张canvas将替换原来的frontCanvas作为新的frontCanvas,原来的frontCanvas将切换到后台作为backCanvas。例如,如果你已经先后两次绘制了视图A和B,那么你再调用lockCanvas()获取视图,获得的将是A而不是正在显示的B,之后你讲重绘的C视图上传,那么C将取代B作为新的frontCanvas显示在SurfaceView上,原来的B则转换为backCanvas。 TextureView是什么 自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。 深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化! 由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新 如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android) 总结 我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识。 这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。 这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~ Android 基础知识点 Java 基础知识点 Android 源码相关分析 常见的一些原理性问题 腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析 -0ISl24hR-1711804758468)] 腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析 [外链图片转存中…(img-H14PdZ0Q-1711804758468)] 本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

Pycharm无法添加Conda新建的虚拟环境,点击没反应。日志中报错:Can‘t find python path to use, will use conda run instead

环境: win11家庭版64位 python3.11.7 pycharm2023.3.5 conda24.1.2 问题介绍: 点击pycharm右上角设置图标,点击setting 找到python interpreter设置,此时Python Interpreter显示<No interpreter>,点击add Interpreter设置conda环境 选择Conda Environment,选择我们安装的anaconda路径下的conda.exe,然后点击load environments,可以看到下方的下拉列表: 正常情况下点击OK之后,稍等片刻,conda环境就会成功设置。但是这里还是NO interpreter 这时pycharm并不会提示错误信息。只能查看pycharm安装目录下log文件夹内的idea.log内容。从日志文件中发现了错误信息: CondaPythonLegacy - Can't find python path to use, will use conda run instead 但是我的python环境能够正常使用,cmd输入python能够输出版本信息。 解决办法: 网上能够查到的解决方案不多,有建议先设置system interpreter的(此方式并未解决问题,因为我创建conda env时并未指定python环境): https://blog.csdn.net/kaigemime/article/details/132531737 也有付费提供解决方案的(就不贴了)。 有位博主提供的解决办法是有效的,感谢博主: https://blog.csdn.net/lnxym/article/details/136808268 操作很简单:删除pycharm安装目录下options文件夹下的jdk.table.xml,重启pycharm即可

Java中的集合(详细)

前言 java中自带一些集合类,可以帮助我们更方便地写程序,其中所有的集合类都在java.util包下。 集合有很多有优点,首先它的大小是可以变化的,不像数组一样大小不可变。再者集合可以存储引用数据类型。 HashSet 1.HashSet集合的特点 2.HashSet常用方法 ①:add(Object o):向Set集合中添加元素,不允许添加重复数据。 ②:size():返回Set集合中的元素个数 注意:不会按照保存的顺序存储数据(顺序不定),遍历时不能保证下次结果和上次相同。且向HashSet集合中添加元素,HashSet add方法实质是map全局变量调用了put方法,将数据存到了key,因为HashMap的 key不允许,所以HashSet添加的元素也不允许重复。 ③.remove(Object o): 删除Set集合中的obj对象,删除成功返回true,否则返回false。 ④.isEmpty():如果Set不包含元素,则返回 true。 ⑤.clear(): 移除此Set中的所有元素。 ⑥.iterator():返回在此Set中的元素上进行迭代的迭代器。 ⑦.contains(Object o):判断集合中是否包含obj元素。 ⑧:加强for循环遍历Set集合: public class Test { public static void main(String[] args) { HashSet<String> set = new HashSet<String>(); set.add("青城"); set.add("博雅"); for (String name : set) { //使用foreach进行遍历。 System.out.println(name); } } } LinkedHashSet LinkedHashSet集合的特点 TreeSet 1.TreeSet集合的特点 2.TreeSet的基本使用 ①.插入是按字典序排序的 public class Test { public static void main(String[] args) { TreeSet ts=new TreeSet(); ts.

Android ImageView 的scaleType 属性图解

目录 前言测试素材测试布局xmlscaleType前言 一、ScaleType.FIT_CENTER 默认二、ScaleType.FIT_START三、ScaleType.FIT_END四、ScaleType.FIT_XY五、ScaleType.CENTER六、ScaleType.CENTER_CROP七、ScaleType.CENTER_INSIDE八、ScaleType.MATRIX 前言 原文链接: Android ImageView 的scaleType 属性图解 安卓UI部分不常用的话实在是太多太琐碎了。 ImageView 是 Android 中最常用的控件之一,而在使用ImageView时,必不可少的会使用到它的scaleType属性。该属性指定了你想让ImageView如何显示图片,包括是否进行缩放、等比缩放、缩放后展示位置等。Android 提供了八种scaleType的属性值,每种都对应了一种展示方式,下面就对每一种scaleType属性值进行图文解释。 测试素材 测试布局xml <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/pink"> <ImageView android:id="@+id/image_view" android:layout_width="300dp" android:layout_height="300dp" android:layout_gravity="center" android:background="@android:color/holo_purple"/> </FrameLayout> 可以看到ImageView是正方形的,其背景色为紫色,父布局设置其背景色为红色,这样可以很容易看到各个控件的大小。在手机上这个布局看起来是这个样子的,紫色空间就是ImageView: scaleType前言 scaleType属性既可以在 XML 中设置,也可以在代码中设置: android:scaleType="centerInside" //XML中 imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); //代码中 八个ScaleType,其实可以分为三个类型: 以FIT_开头的4种,它们的共同点是都会对图片进行缩放;以CENTER_开头的3种,它们的共同点是居中显示,图片的中心点会与ImageView的中心点重叠;ScaleType.MATRIX,这种就直接翻到最后看内容吧; 一、ScaleType.FIT_CENTER 默认 <ImageView android:scaleType="fitCenter" android:src="@drawable/imageviewtest" android:id="@+id/image_view" android:layout_width="300dp" android:layout_height="300dp" android:layout_gravity="center" android:background="@android:color/holo_purple"/> 该模式是ImageView的默认模式,如果没有设置ScaleType时,将采用这种模式展示图片。在该模式下,图片会被等比缩放到能够填充控件大小,并居中展示: 这里例子里因为图片宽大于高,于是被缩放到控件大小并居中展示,上下会留白。如果图片的高大于宽,那么居中显示就会在左右留白。 二、ScaleType.FIT_START 图片等比缩放到控件大小,并放置在控件的上边或左边展示。如图所示,此模式下会在ImageView的下半部分留白,如果图片高度大于宽,那么就会在ImageView的右半部份留白。 android:scaleType="fitStart" 后续xml不再编写 三、ScaleType.FIT_END 图片等比缩放到控件大小,并放置在控件的下边或右边展示。如图所示,此模式下会在ImageView的上半部分留白,如果图片高度大于宽,那么就会在ImageView的左半部分留白。 四、ScaleType.FIT_XY 图片缩放到控件大小,完全填充控件大小展示。注意,此模式不是等比缩放。这个模式理解也是最简单的,如图: 五、ScaleType.CENTER 不使用缩放,ImageView会展示图片的中心部分,即图片的中心点和ImageView的中心点重叠,如图。如果图片的大小小于控件的宽高,那么图片会被居中显示。 六、ScaleType.CENTER_CROP 这是我最喜欢的模式,因为在该模式下,图片会被等比缩放直到完全填充整个ImageView,并居中显示。该模式也是最常用的模式了。如图可以看到,图片的高度是能完全展示出来的: 七、ScaleType.CENTER_INSIDE 使用此模式以完全展示图片的内容为目的。图片将被等比缩放到能够完整展示在ImageView中并居中,如果图片大小小于控件大小,那么就直接居中展示该图片:如果图片大小大于控件大小,和ScaleType.