我目前正在尝试从 python 中的图像获取哈希值,我已经成功地完成了此操作并且它在某种程度上有效。
但是,我有这个问题:Image1 和 image2 最终具有相同的哈希值,即使它们不同。我需要一种更准确和精确的散列形式。
图像 1 =图像 1
图像2 =图像2
图像的哈希值是:faf0761493939381
我目前正在使用from PIL import Image
import imagehash
和imagehash.average_hash
代码在这里
import os
from PIL import Image
import imagehash
def checkImage():
for filename in os.listdir('images//'):
hashedImage = imagehash.average_hash(Image.open('images//' + filename))
print(filename, hashedImage)
for filename in os.listdir('checkimage//'):
check_image = imagehash.average_hash(Image.open('checkimage//' + filename))
print(filename, check_image)
if check_image == hashedImage:
print("Same image")
else:
print("Not the same image")
print(hashedImage, check_image)
checkImage()
Run Code Online (Sandbox Code Playgroud) 我目前有这一行将address = re.sub('[^A-Za-z0-9]+', ' ', address).lstrip()删除我的字符串中的所有特殊字符address.如何修改此行以保持#?
我遇到了以下代码:
def func(self, v: Tuple[Hashable]):
...
Run Code Online (Sandbox Code Playgroud)
我知道v: Tuple这意味着变量 v 必须是 Tuple 类型,但这Tuple[Hashable]意味着什么?Python 中的元组不是总是可哈希的吗?
def is_prime(num):
lst = []
if num > 1:
pass
else:
return False
for number in range(0, 1000000+1):
if str(num) in str(number):
continue
elif str(1) in str(number):
continue
elif str(0) in str(number):
continue
lst.append(number)
for x in lst:
if num % num == 0 and num % 1 == 0 and not(num % x == 0):
return True
else:
return False
print(is_prime(9))
Run Code Online (Sandbox Code Playgroud)
我不知道我的代码有什么问题,我找不到解决方案,程序的重点是检查数字是否是素数(素数只能被 1 和它本身整除)。for 循环似乎不起作用或什么的
有没有办法在“引号”中写入文本而忽略转义序列?例如,而不是:
"C:\\Folder\\Subfolder";
Run Code Online (Sandbox Code Playgroud)
写:
{some character?}"C:\Folder\Subfolder";
Run Code Online (Sandbox Code Playgroud)