2017-03-19 501 views
0

我想要使用openCV以獲得圖片的黑白圖像,在白色的高度漸變像素中着色,並使用黑色的低梯度着色。我目前使用的是anaconda spyder,並且能夠創建新圖像,但圖像分辨率明顯低於我提供的圖像。有誰知道如何調整由plt.imshow生成的圖像的大小?試圖調整由matplotlib.pyplot打印出的圖像的大小

我的代碼如下,我附上了一張圖片。

import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 
import numpy as np 
import cv2 

image = mpimg.imread('exit-ramp.jpg') 
plt.imshow(image) 
gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) #grayscale conversion 
plt.imshow(gray, cmap='gray') 

kernel_size = 3 
blur_gray = cv2.GaussianBlur(gray, (kernel_size, kernel_size), 0) 
lowthresh = 125 
highthresh = 150 
edges = cv2.Canny(blur_gray, lowthresh, highthresh) 

plt.imshow(edges, cmap = 'Greys_r', aspect = 'auto') 

output of my code

picture to take gradient of

+0

你正在Jupyter筆記本內查看它我猜,所以顯示的圖像在一個固定的寬度/高度適合用戶界面,但是如果你看到的比例尺的情節,你會發現圖像仍然有800x500東西,你可以嘗試用'cv2.imwrite()' – ZdaR

+0

完成!我一直在努力得到這個輸出我想要的,我必須開始在這裏問更多的問題!謝謝。 – user7733993

回答

0

可以定義一個數字時與figsize屬性繪製之前定義圖形尺寸:plt.figure(figsize=(20, 4))

+0

這也是一個很好的解決方案!現在我可以看到用軸'繪製的圖像! – user7733993

+0

@ user7733993如果此答案適合您,請隨時通過點擊複選標記來接受它。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做:) – busybear