Connecting numpy array of points to form a contour?How do I connect to a MySQL Database in Python?Is there a NumPy function to return the first index of something in an array?Limiting floats to two decimal pointsHow to print the full NumPy array, without truncation?Sorting arrays in NumPy by columnNumpy array dimensionsPeak detection in a 2D arrayHow to access the ith column of a NumPy multidimensional array?Dump a NumPy array into a csv fileFind Area of a OpenCV Contour
same font throughout bibliography
What are these boxed doors outside store fronts in New York?
What's the output of a record cartridge playing an out-of-speed record
How can I make my BBEG immortal short of making them a Lich or Vampire?
Is it possible to do 50 km distance without any previous training?
Is this a crack on the carbon frame?
N.B. ligature in Latex
Shell script not opening as desktop application
Can a German sentence have two subjects?
Is it legal for company to use my work email to pretend I still work there?
Can a Warlock become Neutral Good?
Languages that we cannot (dis)prove to be Context-Free
Today is the Center
is it possible to make sharp wind that can cut stuff from afar?
Explain the parameters before and after @ in the treminal
Approximately how much travel time was saved by the opening of the Suez Canal in 1869?
Smoothness of finite-dimensional functional calculus
If I cast Expeditious Retreat, can I Dash as a bonus action on the same turn?
Accidentally leaked the solution to an assignment, what to do now? (I'm the prof)
How old can references or sources in a thesis be?
Why can't I see bouncing of a switch on an oscilloscope?
Has the BBC provided arguments for saying Brexit being cancelled is unlikely?
Risk of getting Chronic Wasting Disease (CWD) in the United States?
How does one intimidate enemies without having the capacity for violence?
Connecting numpy array of points to form a contour?
How do I connect to a MySQL Database in Python?Is there a NumPy function to return the first index of something in an array?Limiting floats to two decimal pointsHow to print the full NumPy array, without truncation?Sorting arrays in NumPy by columnNumpy array dimensionsPeak detection in a 2D arrayHow to access the ith column of a NumPy multidimensional array?Dump a NumPy array into a csv fileFind Area of a OpenCV Contour
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
def cnts_convex_hull(cnts,image):
results=[]
points=[]
for cnt in cnts:
for point in cnt:
reg_point=point[0]
print(reg_point)
points.append(reg_point)
results=np.array(points)
# i want to add a fn to form a contour , then use convexhull() on it.
img=cv2.imread("3.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
min = np.array([0, 100 , 100])
max = np.array([179, 255, 255])
mask = cv2.inRange(hsv, min, max)
res = cv2.bitwise_and(img, img, mask=mask)
##################################################
gray_res = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)
kernal = np.ones((5, 5), np.uint8)
gray_res = cv2.morphologyEx(gray_res, cv2.MORPH_CLOSE, kernal)
##################################################
edges = cv2.Canny(gray_res, 100, 100)
cnts,h = cv2.findContours(edges.copy(), cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:10]
cnts_convex_hull(cnts,img)
cv2.imshow('frame',img)
cv2.waitKey(0)
the problem on my hand is simple, i have (after filtering and edge detecting and the usual stuff) something that looks like this:
https://i.stack.imgur.com/GUrYZ.png , which i want to eventually close to shape rather than 2 lines, so i want to form a convex hull on them and by them i mean the whole list of points for the 2 contours.
so in the above code i was able to get the points in a np.array()
but i cannot transform them in the shape of contour so i can preform convexhull on them
python opencv
add a comment |
def cnts_convex_hull(cnts,image):
results=[]
points=[]
for cnt in cnts:
for point in cnt:
reg_point=point[0]
print(reg_point)
points.append(reg_point)
results=np.array(points)
# i want to add a fn to form a contour , then use convexhull() on it.
img=cv2.imread("3.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
min = np.array([0, 100 , 100])
max = np.array([179, 255, 255])
mask = cv2.inRange(hsv, min, max)
res = cv2.bitwise_and(img, img, mask=mask)
##################################################
gray_res = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)
kernal = np.ones((5, 5), np.uint8)
gray_res = cv2.morphologyEx(gray_res, cv2.MORPH_CLOSE, kernal)
##################################################
edges = cv2.Canny(gray_res, 100, 100)
cnts,h = cv2.findContours(edges.copy(), cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:10]
cnts_convex_hull(cnts,img)
cv2.imshow('frame',img)
cv2.waitKey(0)
the problem on my hand is simple, i have (after filtering and edge detecting and the usual stuff) something that looks like this:
https://i.stack.imgur.com/GUrYZ.png , which i want to eventually close to shape rather than 2 lines, so i want to form a convex hull on them and by them i mean the whole list of points for the 2 contours.
so in the above code i was able to get the points in a np.array()
but i cannot transform them in the shape of contour so i can preform convexhull on them
python opencv
The easiest might be to find the ends of both lines/contours and draw lines between them on a copy of the image. Now you use findcontours to find the shape as a single contour.
– J.D.
Mar 9 at 9:40
that's actually a pretty neat idea!
– Abdelrahman Helaly
Mar 9 at 11:21
add a comment |
def cnts_convex_hull(cnts,image):
results=[]
points=[]
for cnt in cnts:
for point in cnt:
reg_point=point[0]
print(reg_point)
points.append(reg_point)
results=np.array(points)
# i want to add a fn to form a contour , then use convexhull() on it.
img=cv2.imread("3.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
min = np.array([0, 100 , 100])
max = np.array([179, 255, 255])
mask = cv2.inRange(hsv, min, max)
res = cv2.bitwise_and(img, img, mask=mask)
##################################################
gray_res = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)
kernal = np.ones((5, 5), np.uint8)
gray_res = cv2.morphologyEx(gray_res, cv2.MORPH_CLOSE, kernal)
##################################################
edges = cv2.Canny(gray_res, 100, 100)
cnts,h = cv2.findContours(edges.copy(), cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:10]
cnts_convex_hull(cnts,img)
cv2.imshow('frame',img)
cv2.waitKey(0)
the problem on my hand is simple, i have (after filtering and edge detecting and the usual stuff) something that looks like this:
https://i.stack.imgur.com/GUrYZ.png , which i want to eventually close to shape rather than 2 lines, so i want to form a convex hull on them and by them i mean the whole list of points for the 2 contours.
so in the above code i was able to get the points in a np.array()
but i cannot transform them in the shape of contour so i can preform convexhull on them
python opencv
def cnts_convex_hull(cnts,image):
results=[]
points=[]
for cnt in cnts:
for point in cnt:
reg_point=point[0]
print(reg_point)
points.append(reg_point)
results=np.array(points)
# i want to add a fn to form a contour , then use convexhull() on it.
img=cv2.imread("3.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
min = np.array([0, 100 , 100])
max = np.array([179, 255, 255])
mask = cv2.inRange(hsv, min, max)
res = cv2.bitwise_and(img, img, mask=mask)
##################################################
gray_res = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)
kernal = np.ones((5, 5), np.uint8)
gray_res = cv2.morphologyEx(gray_res, cv2.MORPH_CLOSE, kernal)
##################################################
edges = cv2.Canny(gray_res, 100, 100)
cnts,h = cv2.findContours(edges.copy(), cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:10]
cnts_convex_hull(cnts,img)
cv2.imshow('frame',img)
cv2.waitKey(0)
the problem on my hand is simple, i have (after filtering and edge detecting and the usual stuff) something that looks like this:
https://i.stack.imgur.com/GUrYZ.png , which i want to eventually close to shape rather than 2 lines, so i want to form a convex hull on them and by them i mean the whole list of points for the 2 contours.
so in the above code i was able to get the points in a np.array()
but i cannot transform them in the shape of contour so i can preform convexhull on them
python opencv
python opencv
edited Mar 9 at 3:27
Abdelrahman Helaly
asked Mar 9 at 3:20
Abdelrahman HelalyAbdelrahman Helaly
11
11
The easiest might be to find the ends of both lines/contours and draw lines between them on a copy of the image. Now you use findcontours to find the shape as a single contour.
– J.D.
Mar 9 at 9:40
that's actually a pretty neat idea!
– Abdelrahman Helaly
Mar 9 at 11:21
add a comment |
The easiest might be to find the ends of both lines/contours and draw lines between them on a copy of the image. Now you use findcontours to find the shape as a single contour.
– J.D.
Mar 9 at 9:40
that's actually a pretty neat idea!
– Abdelrahman Helaly
Mar 9 at 11:21
The easiest might be to find the ends of both lines/contours and draw lines between them on a copy of the image. Now you use findcontours to find the shape as a single contour.
– J.D.
Mar 9 at 9:40
The easiest might be to find the ends of both lines/contours and draw lines between them on a copy of the image. Now you use findcontours to find the shape as a single contour.
– J.D.
Mar 9 at 9:40
that's actually a pretty neat idea!
– Abdelrahman Helaly
Mar 9 at 11:21
that's actually a pretty neat idea!
– Abdelrahman Helaly
Mar 9 at 11:21
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55073671%2fconnecting-numpy-array-of-points-to-form-a-contour%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55073671%2fconnecting-numpy-array-of-points-to-form-a-contour%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The easiest might be to find the ends of both lines/contours and draw lines between them on a copy of the image. Now you use findcontours to find the shape as a single contour.
– J.D.
Mar 9 at 9:40
that's actually a pretty neat idea!
– Abdelrahman Helaly
Mar 9 at 11:21