黑白的图片,想要将白色处的像素值改成1,写了如下代码,但是最终的文件输出得到的并不是自己想要的结果,该怎么改
你把图片po上来...把代码也po上来
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import os
from os.path import split,splitext
from PIL import Image
filenames = os.listdir('label_z')
file_path = 'label_z/'
output_dir = 'npyz'
for i,file_name in enumerate(filenames):
img = Image.open(file_path + file_name)
img_arr = np.array(img)
for index, element in np.ndenumerate(img_arr):
if element != 0 :
element = 1
else:
pass
fpath = os.path.join(output_dir,splitext(file_name)[0]+'.npy')
np.save(fpath, img_arr)
下面的是把npy转成图片的代码
import glob
import torch
import shutil
import datetime
import numpy as np
from PIL import Image
from tqdm import tqdm
from os.path import split,splitext
filenames = os.listdir('npyz')
file_path = 'npyz/'
output_dir = 'mask_z'
for i,file_name in enumerate(filenames):
mask = np.load(file_path + file_name)
fpath = os.path.join(output_dir,splitext(file_name)[0]+'.png')
mask = Image.fromarray(mask.astype(np.uint8))
mask.save(fpath)
预期实现输出应该是全黑的
mask.putpixel((i,j),(255,255,255))
mask = img.convert("RGB")
maks.save(path)
我是单通道的图
是要使得图片的像素值只有0和1,8位深度
是上面那张黑白的图片要把白色处的像素值改为1
from PIL import Image
import PIL.ImageOps
import numpy as np
from skimage.io import imsave
import cv2
in_path = 'old.bmp'
out_path = 'new.png'
Image = cv2.imread(in_path)
Image2 = np.array(Image, copy=True)
white_px = np.asarray([255, 255, 255])
#这里可以改成你期望的颜色
black_px = np.asarray([0 , 0 , 0 ])
(row, col, _) = Image.shape
for r in range(0,row):
for c in range(0,col):
px = Image[r][c]
if all(px == white_px):
Image2[r][c] = black_px
imsave(out_path, Image2)
这个还是三通道的
我之前写的代码应该是可以改的,只是里面有点小问题,没有成功赋值
可以帮我看一眼我图片下面的代码,生成npy的那个,问题出在哪里
for i,file_name in enumerate(filenames): img = Image.open(file_path + file_name) img_arr = np.array(img) for j in img_arr: for k in j: for l in k: l = 1; print(k) fpath = os.path.join(file_path,splitext(file_name)[0]+'.npy') np.save(fpath, img_arr) 这样根本赋不了值
。。。可以的
已解决
有一行代码没注意写错了
还有 你确定你的处理图像不是小黄图?2333.
???
我要把标签转成自己想要的mask
上面是胰腺的标签
胰腺也能引动人的欲望吗???
并不是...我只是觉得形似...2333
(;一_一)