PacktPublishing / PacktPublishing/Python-Image-Processing-Cookbook

Some warning and error fix for chapter 01 02 03

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.