Here, srcA, dstB is Mat class.
resize(srcA, srcB, Size(srcA.size().width/2, srcA.size().height/2) );
resize(srcA, srcB, Size(srcA.size().width/2, srcA.size().height/2) );
#put_nowait, get_nowait method
import queue
q = queue.Queue(2) #buffer size is 2
q.put("apple")
q.put("banana")
#q.put("orange") # wait infinity until there is available space
#q.put_nowait("orange") #error occurs
# Line 187, in put_nowait return self.put(item, block=False)
# line 133, in put raise Full
q.get_nowait()
q.get_nowait()
#q.get_nowait() #error occurs
#line 195, in get_nowait return self.get(block=False)
#line 164, in get raise Empty
q.put("AA", True, 5);
q.put("AA", True, 5);
#q.put("AA", True, 5); # wait 5 second until there is available space, if no space after 5 second, error occur
import queue
def GetItemList(q):
ret = []
n = q.qsize()
while n>0:
ret.append(q.get())
n -= 1
return ret
l = 'apple,banana,orange'
#queue test
q = queue.Queue()
for x in l.split(','):
print(x)
q.put(x)
print( GetItemList(q) )
#stack case
#LIFO last in first out
q = queue.LifoQueue()
for x in l.split(','):
q.put(x)
print( GetItemList(q) )
#priorityQueue
q = queue.PriorityQueue()
q.put((5,"apple"))
q.put((10,"banana"))
q.put((1,"orange"))
print( GetItemList(q) )
"""
out put is...
['apple', 'banana', 'orange']
['orange', 'banana', 'apple']
[(1, 'orange'), (5, 'apple'), (10, 'banana')]
"""
import queue
q = queue.Queue()
q.put("apple")
q.put("banana")
q.put(10)
print( q.qsize() )
print( q.get() )
print( q.get() )
print( q.qsize() )
"""
output is...
3
apple
banana
1
"""
__author__ = 'mare'
from multiprocessing import Process, Lock, Value
import time
def run(name, l, c):
print( name, 'process is created.')
fixed = 0
while 1:
l.acquire()
if c.value>0:
c.value -= 1
l.release()
fixed += 1
time.sleep(0.1)
else:
l.release()
print(name, 'fixed', fixed, 'defects')
break
if __name__=='__main__':
lock = Lock()
count = Value('i', 10)
dev_list = []
for name in ['Mare1', 'Mare2', 'Mare3']:
dev = Process( target=run, args=(name, lock, count))
dev_list.append(dev)
dev.start()
for dev in dev_list:
dev.join()
print('All processes are finished.')
#out put is..
"""
Mare1 process is created.
Mare2 process is created.
Mare3 process is created.
Mare2 fixed 3 defects
Mare3 fixed 3 defects
Mare1 fixed 4 defects
All processes are finished.
All processes are finished.
All processes are finished.
"""
#Thread.start() //thread start
#Thread.run() //thread main function run
#Thread.join([timeout]) //wait until thread end
from threading import Thread, Lock
import time
count = 10
lock = Lock()
class developer(Thread):
def __init__(self, name): #initialize
Thread.__init__(self)
self.name = name
self.fixed = 0
def run(self): #thread main function
global count
while 1:
#lock.acquire() #lock -> Untie comment, error occurs, I don't know why error occurs...
if count > 0:
count -= 1
#lock.rlease() #unlock -> Untie comment, error occurs, I don't know why error occurs...
self.fixed += 1
time.sleep(0.1)
else:
#lock.release() #unlock -> Untie comment, error occurs, I don't know why error occurs...
break
dev_list = []
for name in ['Mare1', 'Mare2', 'Mare3']:
dev = developer(name) #create thread
dev_list.append(dev)
dev.start() #thread start
for dev in dev_list:
dev.join() #wait
print(dev.name, 'fixed', dev.fixed)
#Mare1 fixed 3
#Mare2 fixed 4
#Mare3 fixed 3
float percent = 50.0;
IplImage *source = cvLoadImage("bigImage.jpg");
IplImage *destination = cvCreateImage( cvSize((int)((source->width*percent)/100) , (int)((source->height*percent)/100) ),source->depth, source->nChannels );
//use cvResize to resize source to a destination image
cvResize(source, destination);
// save image with a name supplied with a second argument
cvSaveImage( "resizeImage.jpg", destination );