顯示具有 python 標籤的文章。 顯示所有文章
顯示具有 python 標籤的文章。 顯示所有文章

2019-02-25

Python 將 Base64 字串還原為圖片

markdown ## 取得 Base64 格式 從網站取得 ``` import base64 img_data_base64 = request.POST.get("img_data") img_b64decode = base64.b64decode(img_data_base64) ``` 從檔案取得 Base64 然後將 base64 再解碼 ``` import base64 img_file = open(r'image.jpg','rb') img_b64encode = base64.b64encode(img_file.read()) img_file.close() img_b64decode = base64.b64decode(img_b64encode) ``` # Python 圖片 Base64 解碼還原 PIL.Image 或 Opencv Base64 解碼為 OpenCV 圖片: ``` import base64 import numpy as np img_data_base64= request.POST.get("img_data") img_data=base64.b64decode(img_data_base64) img_array = np.fromstring(img_data,np.uint8) img=cv2.imdecode(img_array,cv2.COLOR_BGR2RGB) cv2.imshow("img",img) cv2.waitKey() ``` Base64 解碼為 PIL.Image 圖片: ``` from io import BytesIO from PIL import Image #pillow img_data_base64= request.POST.get("img_data") img_data=base64.b64decode(img_data_base64) image = BytesIO(img_data) img = Image.open(image) ``` OpenCV 轉換成 PIL.Image 格式: ``` import cv2 from PIL import Image import numpy as np img = cv2.imread("image.jpg") cv2.imshow("OpenCV",img) image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) image.show() cv2.waitKey() ``` PIL.Image 轉換成 OpenCV 格式: ``` import cv2 from PIL import Image import numpy as np image = Image.open("image.jpg") image.show() img = cv2.cvtColor(np.asarray(image),cv2.COLOR_RGB2BGR) cv2.imshow("OpenCV",img) cv2.waitKey() ``` 參考資料來源: https://blog.csdn.net/dcrmg/article/details/80542665 https://blog.csdn.net/qq_19707521/article/details/78403904 https://blog.csdn.net/qq_19707521/article/details/78367617

2019-01-28

Python Import the class within the same directory or sub directory

markdown # 引用同一資料夾中的類別 假設有已有如下的資料結構,在 myfolder 中有 Order, Product, User, Manager 四個 class,要引用到 main.py 中使用。 ``` myfolder +-- main.py +-- subdir | +-- order.py | +-- product.py +-- user.py +-- manager.py ``` ## Python 2 建立一個名為 `__init__.py` 的空檔案,放在同一個資料夾中 在 main.py 中 ``` from user import User from manager import Manager ``` 資料夾範例: ``` myfolder +-- main.py +-- subdir | +-- order.py | +-- product.py +-- __init__.py +-- user.py +-- manager.py ``` 如果是要引用子目錄中的類別,則是在子目錄中建立 `__init__.py` ``` from subdir.order import Order from subdir.product import Product ``` 子資料夾範例: ``` myfolder +-- main.py +-- subdir | +-- __init__.py | +-- order.py | +-- product.py +-- user.py +-- manager.py ``` ## Python 3 在同一目錄下引用直接使用 .user,參考如下: 在 main.py 中 ``` from .user import User from .manager import Manager ``` 資料夾範例: ``` myfolder +-- main.py +-- subdir | +-- order.py | +-- product.py +-- __init__.py +-- user.py +-- manager.py ```