# -*- coding: utf-8 -*-
import unittest
class TestClass1(unittest.TestCase):
@unittest.skip("core.ok")
def test_tuple(self):
data = (11,22,33)
print(data)
x,y,z = data
print(x,y,z)
@unittest.skip("matplotlib.screen")
def test_scrap_screen(self):
from PIL import Image, ImageGrab
import numpy as np
from matplotlib import pyplot as plt
sim = ImageGrab.grab()
w,h = sim.size
del(sim)
dpi = plt.rcParams['figure.dpi']
print("screen size: %d, %d" % (w, h))
print("screen inch: %2.2f, %2.2f" %(w/dpi, h/dpi))
djx = np.sqrt(w*w + h*h)
print("screen djx = %d" % djx)
print("screen dpi = %f" % (djx/15.4))
print("screen size= %d, %d" % (w/221, h/221))
# @unittest.skip("xxxyyyxxxyyyyy")
def test_full_screen(self):
from matplotlib import pyplot as plt
from PIL import Image
img_name = "/Users/jacobzhao/Downloads/sunyunzhu1.jpeg"
img = Image.open(img_name)
print("dip = %d" % plt.rcParams['figure.dpi'])
plt.figure()
plt.axis('off')
ax = plt.gca()
ax.spines['top'].set_visible(False)
leg = plt.legend()
leg.get_frame().set_linewidth(0.0)
plt.subplots_adjust(hspace=0, wspace=0)
plt.imshow(img)
plt.show()
if __name__ == '__main__':
unittest.main()
# suite = unittest.TestSuite()
# suite.addTest(TestClass1('test_scrap_screen'))
# runner = unittest.TextTestResult()
# runner.run(suite)
# -*- coding: utf-8 -*-
from functools import reduce
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
class MyImage(object):
def __init__(self, filepath):
self.filepath = filepath
self.imgfile = Image.open(filepath)
if self.imgfile.mode != 'RGB':
self.imgfile = self.imgfile.convert("RGB")
self.imgdata = np.array(self.imgfile)
self.info = {
"mode": self.imgfile.mode,
"shape":self.imgdata.shape
}
def showImg(self, title='NO-Title'):
plt.figure(title)
plt.imshow(self.imgdata)
plt.axis('off')
plt.show()
def printInfo(self):
print(self.info)
class MyImage2(object):
def __init__(self, filepath1, filepath2):
self.filepath1 = filepath1
self.filepath2 = filepath2
self.imgfile1 = Image.open(filepath1)
self.imgfile2 = Image.open(filepath2)
if self.imgfile1.mode != 'RGB':
self.imgfile1 = self.imgfile1.convert("RGB")
if self.imgfile2.mode != 'RGB':
self.imgfile2 = self.imgfile2.convert("RGB")
self.imgdata1 = np.array(self.imgfile1)
self.imgdata2 = np.array(self.imgfile2)
self.info1 = {
"mode": self.imgfile1.mode,
"shape":self.imgdata1.shape
}
self.info2 = {
"mode": self.imgfile2.mode,
"shape":self.imgdata2.shape
}
def showImg(self, title1='Image-1', title2='Image-2'):
fig = plt.figure(figsize=(10, 5))
ax1 = fig.add_subplot(1, 2, 1)
ax1.imshow(self.imgdata1)
ax1.axis('off')
plt.title(title1)
ax2 = fig.add_subplot(1, 2, 2)
ax2.imshow(self.imgdata2)
ax2.axis('off')
plt.title(title2)
# plt.suptitle("Image-Test")
plt.show()
def printInfo(self):
print(self.info1)
print(self.info2)
class MyImageN(object):
def __init__(self, filepaths):
self.size = len(filepaths)
pos = list(range(self.size))
self.filepaths = filepaths
self.imgfiles = []
self.imgdatas = []
self.imginfos = []
for index, filepath in zip(pos, filepaths):
info={'title':'img-'+str(index)}
self.imgfiles.append(Image.open(filepaths[index]))
info['mode'] = self.imgfiles[index].mode
if self.imgfiles[index].mode != 'RGB':
self.imgfiles[index] = self.imgfiles[index].convert('RGB')
self.imgdatas.append(np.array(self.imgfiles[index]))
info['shape'] = self.imgdatas[index].shape
self.imginfos.append(info)
def showImg(self, titles = None):
fig = plt.figure(figsize=(4*self.size, 4))
for index in range(self.size):
ax = fig.add_subplot(1, self.size, index + 1)
ax.imshow(self.imgdatas[index])
ax.axis('off')
plt.title("Image-"+str(index))
# plt.suptitle("Image-Test")
plt.show()
def printInfos(self):
for index in range(self.size):
print(index+1, '->', self.imginfos[index])
def processImage(self, index, func):
curr_data = self.imgdatas[index]
self.imgdatas[index] = func(self.imgfiles[index])
def picGray(imgfile):
return imgfile.convert('L')
if __name__ == '__main__':
syz = [
r"/Users/jacobzhao/Downloads/sunyunzhu1.jpeg",
r"/Users/jacobzhao/Downloads/sunyunzhu2.png",
# r"/Users/jacobzhao/Downloads/sunyunzhu3.png",
]
# MyImage(syz[0]).showImg()
# MyImage(syz[1]).showImg()
syzImgs = MyImageN(syz)
# syzImgs.showImg()
syzImgs.processImage(0, picGray)
syzImgs.processImage(1, picGray)
# syzImgs.processImage(2, picGray)
syzImgs.printInfos()
syzImgs.showImg()
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(8, 4))
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,1,2)
ax3.plot(np.random.randn(50).cumsum(), 'k--')
ax1.hist(np.random.randn(100), bins=10, color='b', alpha=0.3)
ax2.scatter(np.arange(30), np.arange(30) + 3*np.random.randn(30))
plt.show()
a = [x+11 for x in range(6)]
b = [y+101 for y in range(6)]
print(a, b)
for m,n in zip(a,b):
print(m, n)
print(list(range(8)))