updated since no need to change opencv
add MACROs