Python: OpenCV: resize image fit to your screen

25 02 2019

OpenCV can display image but if your image bigger than your screen or your display window you can’t see all your image. this code will detect display size and resize your image to fit on it. come and see

# Created: 25/02/2019
# Copyright: (c) PNU 2019
#--------------------------------------------------------------------
import cv2
import ctypes

## get Screen Size
user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)


def showImage(filename):
     W,H = screensize
     oriimg = cv2.imread(filename,cv2.CV_LOAD_IMAGE_COLOR)
     height, width, depth = oriimg.shape

     scaleWidth = float(W)/float(width)
     scaleHeight = float(H)/float(height)
     if scaleHeight>scaleWidth:
          imgScale = scaleWidth
     else:
          imgScale = scaleHeight

     newX,newY = oriimg.shape[1]*imgScale, oriimg.shape[0]*imgScale
     newimg = cv2.resize(oriimg,(int(newX),int(newY)))
     cv2.imshow("fit image to screen by CV2",newimg)
     cv2.waitKey(0)

if __name__ == '__main__':
     filename = 'bigImage.jpg'
     showImage(filename)

there are some windows taskbar so image can’t display full screen I think use 90% of scree size is good to display.
enjoy this code.

Advertisements




Install .whl package for Python on Windows

22 02 2019

Python need extension package to do many thing. Now package distribute in wheel file (.whl).The most popular way to install the new Python package or library is to use PIP. After install Python in your machine you need to install pip

OS: windows 10 [64bit]
Python: Python 2.7  [download link: www.python.org ]

install pip:

c:> cd python27
c:Python27>
c:Python27>python D:\Softwares\Python2.7-package\get-pip.py

pip

  • add python script path to the system variable path by open control panel and click little arrow after control panel and select All Control Panel Item

controlpanel

on left menu select Advanced system settings 

system

click Environment Variables… 

envivar

it show Environment Variables box. Select Path in System variables then click Edit…

variable

click at last row and type your Scripts in Python folder the click OK all

addpath

  • now you can install whl package by go to whl download file and type
pip install your whl file

pipinstall

Enjoy your python

download python package here

 





Lost capacity in MicroSD card

15 06 2016

I have 16 GB microSD card use in Windows and Ubuntu. When I want to format this card Windows can read only 70.4 MB, Oh it lost a lot. I think Windows can’t read some Linux files. OK let’s clean it up.

เนื้อที่ใน microSD การ์ด อยู่ ๆ ก็หายไปเฉย อย่าเพิ่งตกใจลองทำตามวิธีนี้ก่อน

a01

With “DiskPart” software in Windows, This work will run in command line, don’t worry it will show step by step. Click on Start menu (Windows logo) and type “diskpart” then click diskpart program.

a02

The DiskPart dialog box will show up.

a03

Then follow this step by step

  1. list your disk by type “list disk” then enter. it will show all of your disk in your computer.  for example I have 500 GB HDD, 8 GB boot up disk and 16 GB microSD. it will show Disk 0 Disk 1 and Disk 2 my 16 GB microSD located in Disk 2.
  2. Select disk (Disk 2 for me) by type “select disk 2” and enter.
  3. now clean their space by type “clean” then enter.
  4. next create partition by type “create partition primary” then enter.
  5. go to new partition by type “select partition 1” then enter.
  6. set active by type “active” then enter.
  7. format it by type “format fs-ntfs quick” then enter and wait until format finish.
  8.  assign dike for use by type “assign” then enter.
  9. finish. you can exit diskpart by type “exit” and click enter.

the response should be like this image.

a17

Now Windows can see 14.4 GB on microSD disk.

a16





Python: OpenCV: resize image by width

6 07 2014

resize big image by width for example there are 5400×2700 pixels and want to display by 1000 pixel width. try this
import cv2
filename = 'bigimage.jpg'
W = 1000.
oriimg = cv2.imread(filename,cv2.CV_LOAD_IMAGE_COLOR)
height, width, depth = oriimg.shape
imgScale = W/width
newX,newY = oriimg.shape[1]*imgScale, oriimg.shape[0]*imgScale
newimg = cv2.resize(oriimg,(int(newX),int(newY)))
cv2.imshow("Show by CV2",newimg)
cv2.waitKey(0)

if image has width less than 1000 it will be enlarge image.





KMPLAYER: How to disable right panel

18 03 2014

KMPLAYER: How to disable right panel

20140318

KMP player is favor player to play music and movie  in many format. After version 3.7 there are search and advertise panel appear on the right when play the movie. If you want to disable it you can click on the small white arrow at the edge between main and right panel( at the arrow cursor in image) or you can follow this step to set disable right panel every time you open KMP player.

  •  you have to edit hosts file , it located in  “c:/windows/system32/drivers/etc/host”
    Clipboard01
  • to edit hosts file I use Notepad++
    and add
    127.0.0.1 player.kmpmedia.net
    and save hosts file
    this line will prevent the kmplayer to connect to the internet then right panel sidebar will not appear!
    Clipboard02
  • enjoy your movie
    Clipboard15




Python: OpenCV: Plot points on image

4 09 2013

Python: OpenCV: Plot points on image

20130904

use cv2 to plot points on image
point symbol like control point symbol

การพล๊อตข้อมูลจุดลงไปบนภาพ โดยกำหนดลักษณะของจุดเป็นแบบรูปจุดควบคุม

code:

import cv2
 if __name__ == '__main__':
 image067="""
    1,2725.816,1578.254
    2,2339.446,1381.908
    3,2263.594,1318.698
    4,2261.619,1222.698
    6,1941.855,1376.561
    7,1941.188,1288.783
    ...
    68,2357.619,1264.970
    """
 imageFile = r'ladybug067.jpg'
 imagePointList = data2List(image067)
 OriImage = cv2.imread(imageFile)

## plot point on image
 for i in imagePointList:
   pid,cx,cy = i
   cv2.circle(OriImage,(int(cx),int(cy)),10,(255,255,255),-11)
   cv2.circle(OriImage,(int(cx),int(cy)),11,(0,0,255),1) # draw circle
   cv2.ellipse(OriImage, (int(cx),int(cy)), (10,10), 0, 0, 90,(0,0,255),-1 )
   cv2.ellipse(OriImage, (int(cx),int(cy)), (10,10), 0, 180, 270,(0,0,255),-1 )
   cv2.circle(OriImage,(int(cx),int(cy)),1,(0,255,0),1) # draw center
   cv2.putText(OriImage,pid,(int(cx)+10,int(cy)-10),cv2.FONT_HERSHEY_COMPLEX_SMALL,1,(255,180,180))
 print 'plot points completed'
 outputfile = 'PlotPoint'+imageFile
 cv2.imwrite(outputfile,OriImage)

รูปร่างของจุดที่ได้

the symbol will like this cp





Python: pyQt: set MessageBox default button

8 03 2013

20130308

I use MessageBox in pyQt and want to change default button from Yes to No, let see how to do.

first I want to show the basic command to show message box

from PyQt4 import QtGui
reply = QtGui.QMessageBox.question(None,'Warning!!','Click [Yes] to do or [No] to skip',QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
 if reply == QtGui.QMessageBox.Yes:
      print 'Yes'
 else:
      print 'No'

output show in image the default button is highlight on Yes button

Image

when we want to change default from Yes to No button we can do like this

from PyQt4 import QtGui
reply = QtGui.QMessageBox.question(None,'Warning!!','Click [Yes] to do or [No] to skip',QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
     print 'Yes'
else:
     print 'No'

the “QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No” is key point first two are what button to show, this word meas show Yes and No button and after comma is what default button now I set No button and the result is
Image