• Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
Saturday, October 10, 2026
newsaiworld
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us
No Result
View All Result
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us
No Result
View All Result
Morning News
No Result
View All Result
Home Machine Learning

How I Solved LinkedIn Queens Recreation Utilizing Backtracking | by Shanmukha Ranganath | Sep, 2024

Admin by Admin
September 29, 2024
in Machine Learning
0
1phpi Bay2gzdhgbrm1nweq.jpeg
0
SHARES
1
VIEWS
Share on FacebookShare on Twitter

READ ALSO

Can TypeSafe’s Jev Make AI Brokers Safer With out One other LLM?

AI Brokers Beat PyTorch: Writing Sooner CUDA Kernels


OpenCV (quick forOpen Supply Laptop Imaginative and prescient) is a library for Laptop Imaginative and prescient, Machine Studying, and Picture Processing. It may be used to determine patterns in a picture, extract options, and carry out mathematical operations on it. Step one is to course of the puzzle screenshot utilizing OpenCV, lets have a fast refresher on fundamentals of OpenCV picture processing.

Set up the OpenCV python package deal

pip set up opencv-python

The best way to load a picture

cv.imreadreads a picture file and converts it to an OpenCV matrix. If the picture can’t be learn as a result of the file could also be lacking or in a format that OpenCV can’t perceive an empty matrix is returned. The OpenCV matrix may be transformed to a picture again utilizing cv.imshow operate.

import cv2 as cv
import numpy as np

# Studying a picture
authentic = cv.imread(")
cv.imshow("authentic", authentic)

How to attract a line, circle, rectangle, textual content on the identical picture

As soon as we detect the grid, we have to recreate it utilizing traces and place Qutilizing textual content. Let’s have a look at a brief snippet to attract a line, circle, rectangle, and textual content on the above learn matrix.


# Drawing a line
line = cv.line(authentic, (authentic.form[1]//2, authentic.form[0]//2), (0,0) , (0,255,0), thickness=2)
cv.imshow("line", line)

# Drawing different shapes
circle = cv.circle(line, (line.form[1]//2, line.form[0]//2), 50, (0,0,255), thickness=2)
rect = cv.rectangle(circle, (10,10), (circle.form[1]//2, circle.form[0]//2), (255,0,0), thickness=2)
textual content = cv.putText(rect, "Hello", (rect.form[1]//2, rect.form[0]//2), cv.FONT_HERSHEY_SIMPLEX, 1, (255,255,255), thickness=2)

cv.imshow("all shapes", textual content)

The best way to detect contours

Contours are merely a form becoming a member of all factors of comparable shade and depth at a steady boundary. These are helpful when detecting shapes and object define evaluation. We are going to draw our puzzle grid by detecting the person cells.

# Its greatest to transform picture to grayscale
# and add a little bit of blur for higher contour detections
# since our picture is generally a grid we dont want blur

# by default OpenCV reads photos as BGR
# versus conventional RGB
grey = cv.cvtConvert(authentic, cv.COLOR_BGR2GRAY)
contours, _ = cv.findContours(grey, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)

By default, OpenCV reads photos as BGR, versus conventional RGB

Cropping a picture

For us to remove pointless areas from screenshots and scale back noise, as soon as we’ve detected our contours

# its primarily choosing the pixels we want from your entire picture
cropped = authentic[0:original.shape[1]//2, 0:authentic.form[0]//2]
cv.imshow("cropped", cropped)

First, we start by loading the picture into reminiscence and changing it into Grayscale. This helps in simplifying contour detection, a common step that’s at all times adopted because it reduces the picture complexity. Subsequent, we discover contours, type them, and choose the biggest one. Usually, the primary contour is the sure field of the unique picture, so we use the second largest contour to isolate the puzzle grid. Then, we crop the picture simply to get the grid and nothing else. We once more discover contours, since now the noise is decreased, it’s going to detect the grid higher. We decide the variety of cells inside the grid and iterate over every cell, take the typical shade, and assign a lot of every shade, which supplies us the 2D array of our puzzle

# Learn the enter picture and save the unique
authentic = cv.imread(file_name)
cv.imwrite("resolution/authentic.png", authentic)

# Convert the picture to grayscale
grey = cv.cvtColor(authentic, cv.COLOR_BGR2GRAY)

# Discover contours within the grayscale picture and type them by space
contours, _ = cv.findContours(grey, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)
contours = sorted(contours, key=cv.contourArea, reverse=True)

# Extract the bounding field of the puzzle grid (utilizing the second largest contour)
x, y, w, h = cv.boundingRect(contours[1])

# Crop the grid space from the unique picture
grid = authentic[y:y+h, x:x+w]
cv.imwrite("resolution/grid.png", grid)

# Convert the cropped grid to grayscale
grey = cv.cvtColor(grid, cv.COLOR_BGR2GRAY)
cv.imwrite("resolution/gray-grid.png", grey)

# Discover contours once more within the cropped grayscale grid
contours, _ = cv.findContours(grey, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)
contours = sorted(contours, key=cv.contourArea)

# Decide the whole variety of cells within the grid
total_cells = len(contours) - 2
grid_size = int(math.sqrt(total_cells))

# Examine if the detected cells type a whole sq. grid
if total_cells != grid_size**2:
print("Unable to detect full grid! Aborting")

# Calculate particular person cell dimensions
cell_width = w // grid_size
cell_height = h // grid_size

# Initialize shade mappings and board illustration
colours = []
board = []
color_index = 1
color_map = {}
reverse_color_map = {}
padding = 10

# Iterate by way of every cell within the grid
for i in vary(grid_size):
row = []
for j in vary(grid_size):
# Calculate cell coordinates with padding
cell_x = j * cell_width
cell_y = i * cell_height
padding = 15
cell = grid[cell_y+padding:cell_y+cell_height-padding, cell_x+padding:cell_x+cell_width-padding]

# Get the typical shade of the cell
avg_color = cell.imply(axis=0).imply(axis=0)
avg_color = avg_color.astype(int)
avg_color = tuple(avg_color)

# Map the colour to a singular index if not already mapped
if avg_color not in color_map:
color_map[avg_color] = str(color_index)
reverse_color_map[str(color_index)] = avg_color
color_index += 1

# Add the colour index to the row
row.append(color_map[avg_color])

# Add the row to the board
board.append(row)

Tags: BacktrackingGameLinkedinQueensRanganathSepShanmukhaSolved

Related Posts

1791231261636 64jqin.webp.webp
Machine Learning

Can TypeSafe’s Jev Make AI Brokers Safer With out One other LLM?

October 9, 2026
Vishnu mohanan pfR18JNEMv8 unsplash scaled.jpg
Machine Learning

AI Brokers Beat PyTorch: Writing Sooner CUDA Kernels

October 8, 2026
1790995354743 w6cg9a.png
Machine Learning

When Do PINNs Beat Classical Numerical Strategies? A 1D vs 5D Experiment

October 7, 2026
MLM Shittu RAG vs Fine Tuning for Domain Adaptation 1024x586.png
Machine Learning

RAG vs. Nice-Tuning for Area Adaptation: When to Use Which

October 6, 2026
Feature image 2 scaled.png
Machine Learning

Pc Imaginative and prescient: SIFT algorithm (Scale Invariant Function Rework)

October 5, 2026
MLM Shittu Local Agentic AI Workflows with Hermes Ollama scaled 1.png
Machine Learning

Native Agentic AI Workflows with Hermes + Ollama

October 5, 2026
Next Post
1ly0au9wo02v3hwtw5h9j2q.png

Mannequin Deployment with FastAPI, Azure, and Docker | by Sabrine Bendimerad | Sep, 2024

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

Gemini 2.0 Fash Vs Gpt 4o.webp.webp

Gemini 2.0 Flash vs GPT 4o: Which is Higher?

January 19, 2025
Chainlink Link And Cardano Ada Dominate The Crypto Coin Development Chart.jpg

Chainlink’s Run to $20 Beneficial properties Steam Amid LINK Taking the Helm because the High Creating DeFi Challenge ⋆ ZyCrypto

May 17, 2025
Image 100 1024x683.png

Easy methods to Use LLMs for Highly effective Computerized Evaluations

August 13, 2025
Blog.png

XMN is accessible for buying and selling!

October 10, 2025
0 3.png

College endowments be a part of crypto rush, boosting meme cash like Meme Index

February 10, 2025

EDITOR'S PICK

Mlm mayo vector relational 1 1024x571.png

Past the Vector Retailer: Constructing the Full Information Layer for AI Functions

March 28, 2026
1732834850 Ai Shutterstock 2255757301 Special.png

Analysis Insights: The Advanced Function of AI Disclosure in Constructing Belief

November 28, 2024
Sambanova Logo 2 1 0224.png

SambaNova Studies Quickest DeepSeek-R1 671B with Excessive Effectivity

February 19, 2025
Bitcoin id 93612bde 2644 4174 ba86 d89c52095175 size900.jpg

“Make US Crypto Capital of the Planet”

July 29, 2024

About Us

Welcome to News AI World, your go-to source for the latest in artificial intelligence news and developments. Our mission is to deliver comprehensive and insightful coverage of the rapidly evolving AI landscape, keeping you informed about breakthroughs, trends, and the transformative impact of AI technologies across industries.

Categories

  • Artificial Intelligence
  • ChatGPT
  • Crypto Coins
  • Data Science
  • Machine Learning

Recent Posts

  • Too Huge to Supervise at Residence: EU Limits Direct ESMA Rule to Crypto Giants
  • The place Does the Cash Go Throughout Lengthy-Operating Coding Brokers?
  • Meta and Sierra’s Private Agent Protocol Begins With Login, Not Funds
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy

© 2024 Newsaiworld.com. All rights reserved.

No Result
View All Result
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us

© 2024 Newsaiworld.com. All rights reserved.

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?