Zscore_Crypto / image_coordinate.py
gjin10969
initialize
e97cf97
import cv2
# Load your image
image = cv2.imread('/media/gjin/New Volume/BACKTEST_DATA/black_edition_rolling_window_50_candlestick_10/images_detection/4h/ADA_USDT_output_result_2024-10-09_16-00-00.jpg')
original_image = image.copy() # Keep a copy of the original image to reset after every frame
# Get the dimensions of the image
height, width, _ = image.shape
# Define the step size for the grid
step_x = 50 # Step size for x-axis
step_y = 50 # Step size for y-axis
# Draw grid lines
def draw_grid(img):
for x in range(0, width, step_x):
cv2.line(img, (x, 0), (x, height), (0, 255, 0), 1) # Draw green vertical lines
cv2.putText(img, str(x), (x + 5, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1)
for y in range(0, height, step_y):
cv2.line(img, (0, y), (width, y), (0, 255, 0), 1) # Draw green horizontal lines
cv2.putText(img, str(y), (5, y + 15), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1)
# Mouse callback function to display cursor details
def show_mouse_position(event, x, y, flags, param):
global image
if event == cv2.EVENT_MOUSEMOVE: # Track mouse movement
image = original_image.copy() # Reset to original image every frame
draw_grid(image)
# Get the BGR color of the pixel at the cursor position
b, g, r = image[y, x]
# Display the x, y coordinates and BGR color values on the image
info_text = f"X: {x}, Y: {y}, Color: B: {b}, G: {g}, R: {r}"
cv2.putText(image, info_text, (10, height - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 1) # Text in black
# Create a window
cv2.namedWindow('Image with Grid and Coordinates', cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty('Image with Grid and Coordinates', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
# Set the mouse callback function to track the cursor movement
cv2.setMouseCallback('Image with Grid and Coordinates', show_mouse_position)
# Draw initial grid
draw_grid(image)
# Display the image with grid and cursor details
while True:
cv2.imshow('Image with Grid and Coordinates', image)
if cv2.waitKey(20) & 0xFF == 27: # Press 'Esc' to exit
break
cv2.destroyAllWindows()