PacktPublishing / PacktPublishing/Python-Image-Processing-Cookbook
Some warning and error fix for chapter 01 02 03
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 176
- Forks
- 122
- PR merge metrics
- No merged PRs in 30d
Description
With python 3.9 and up-to-date libraries
Chapter 01
Perspective Projection and Homography
matplotlib 3.4 savefig bbox_in, pad_in is deprecated, updated to bbox_inches and pad_inches
plt.savefig('images/homography_out.png', bbox_inches='tight', pad_inches=0)
Pencil Sketches from images
plt.savefig(img_file.split('.')[0] + '_sketches_all.png', bbox_inches='tight')
Image need using tuple() instead array warning
#output = img - anisotropic_diffusion(img, niter=niter, kappa=kappa, gamma=gamma, voxelspacing=None, option=1) # change to
output = img - anisotropic_diffusion((img), niter=niter, kappa=kappa, gamma=gamma, voxelspacing=None, option=1)
Chapter 02
Edge Detection with Canny, LOG / Zero-Crossing and Wavelets
from skimage.io import imread # use io package as misc imread deprecrated
#img = rgb2gray(misc.imread('images/tiger.png')) # change to
img = rgb2gray(imread('images/tiger.png'))
Edge Detection with Anisotropic Diffusion
#diff_out = anisotropic_diffusion(img, niter=50, kappa=20, option=1)
diff_out = anisotropic_diffusion((img), niter=50, kappa=20, option=1)
Image Denoising with Denoising Autoencoder
import torchvision, matplotlib, sklearn, numpy as np, torch# added torch
Improving Image Contrast
#hist, bins = np.histogram(img[...,i].flatten(),256,[0,256], normed=True) # Changed to
hist, bins = np.histogram(img[...,i].flatten(),256,[0,256], density=True)
#plt.savefig('images/hist_out.png', bbox_in='tight', pad_in=0) # Changed to
plt.savefig('images/hist_out.png', bbox_inches='tight', pad_inches=0)
Image Denoising with Anisotropic Diffusion
#diff_out = anisotropic_diffusion(noisy, niter=20, kappa=20, option=1)
diff_out = anisotropic_diffusion((noisy), niter=20, kappa=20, option=1)
#diff_out = anisotropic_diffusion(noisy, niter=50, kappa=100, option=2)
diff_out = anisotropic_diffusion((noisy), niter=50, kappa=100, option=2)
Chapter 03
Wiener Filter
this import only support until < 0.16.2
from skimage.measure import compare_psnr
need update to
from skimage.metrics import peak_signal_noise_ratio as compare_psnr
#ax = fig.gca(projection='3d')
ax = fig.add_subplot(projection='3d')
Some warning updated on CLA section
from skimage.color import rgb2gray,rgba2rgb
im = rgb2gray(rgba2rgb(imread('images/book.png'))) # street
Noisy Image Restoration with Markov Random Field
#% matplotlib inline
%matplotlib inline
Image Completion with Inpainting (using Deep learning - pre-trained torch CompletionNet model)
Only with python 3.7 torch==0.4.1 torchvision==0.2.0
#from torch.legacy import nn
#from torch.legacy.nn.Sequential import Sequential
from torch import nn
from torch.nn import Sequential
Image Restoration with Dictionary Learning
Online Dictionary Learning
#lena = rgb2gray(imread('images/lena.png'))
lena = rgb2gray(rgba2rgb(imread('images/lena.png')))
Image Compression with Wavelets
#imw = soft_threshold(imw, 12)
imw = soft_threshold((imw), 12)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the Chapter 01, Chapter 02, and Chapter 03 notebooks or examples, then run them with Python 3.9 and up-to-date libraries to reproduce the listed warnings and errors. Apply the documented compatibility updates and verify that the affected image-processing examples run without deprecation warnings or failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, matplotlib, numpy, python, pytorch
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100