Gupta
How i acn upadate the value of the variable “square=0” as mention in my code so that after every loop it will update it by addind + 1 in “square=0”
this is my code :
def findcontours(path) do
#squares=0
{:ok, imgGrey} = OpenCV.imread(path, flags: OpenCV.cv_IMREAD_GRAYSCALE())
{:ok, {_, thrash}} = OpenCV.threshold(imgGrey, 240, 255, OpenCV.cv_THRESH_BINARY())
{:ok, {contours, _}} =OpenCV.findContours(thrash, OpenCV.cv_RETR_TREE(), OpenCV.cv_CHAIN_APPROX_NONE())
square = 0
for contour <- contours do
{:ok,peri} = OpenCV.arcLength(contour,true)
{:ok,approx} = OpenCV.approxPolyDP(contour, 0.01 * peri,true)
ap=OpenCV.Nx.to_nx(approx)
{len,_,_}=Nx.shape(ap)
if len==4 do #to bound squares from the countor
{:ok,{x1, y1, w, h}}= OpenCV.boundingRect(approx)
aspectRatio = (w/1)/h
if aspectRatio >= 0.95 and aspectRatio <= 1.05 and (y1+h)*(x1+w) < 985000 do
square=square +1
end
end
end
end
pls help me to update my value of square as i know there i a big problem of scope in elixir and also it is immutable so pls help me for this.
or suggest me another way so that i can do the whole process by another way if possible.
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
Hi everyone,
I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding.
I sta...
New
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication):
toke...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #metaprogramming
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Aetherus
In Elixir, variables are actually constants. You can’t reassign values to an existing variable. You can only create a new variable with the same name and shadow the old one.
This line
square = square + 1reads the value ofsquareoutside the for-loop, adds 1 to it, and creates a new variable also namedsquare, which is not used at all, because this newsquarevariable is inside a sub-sub scope of the for-loop, and the oldsquareis outside the for-loop. They are in different scopes.How to fix this?
Gupta
can u explain me briefly what u have done in this
so that in further code if i will face problem regarding this i can rectify it
Aetherus
Here’s a simple example of the
forcomprehension with the option:reduce:It’s equivalent to this code (I’m using the same variable names as in the snippet above):
The
forcomprehension first passes0, the value of the option:reduce, toacc, the first element in1..10ton, and apply the anonymous function toaccandn. Then it passes the return value of the anonymous function toacc, the second element in1..10ton, and apply the anonymous function again. So on and so forth, until there’s no element to take from1..10, then it returns the return value of the last call of that anonymous function.Aetherus
And note that both
for ... do ... endandif ... else ... endare expressions, and they have return values.The
ifwithoutelsereturns whatever inside theifblock returns, if the condition is met, otherwise, it returnsnil, which usually is not what you want, so be careful.Gupta
I was trying to use tesseract-Ocr in elixir
but i am getting error pls :
pls help me to rectify it
dimitarvp
It means the file path you specified does not exist.
Use
File.exists?insideiexto find the right file path.Gupta
I am getting error again :
why it is showing again this .
also i think i have the tesseract dependencies in mix.exs
but still it is showing me the error
dimitarvp
It’s expecting you to have
tesseractinstalled and put in the system PATH.What does
which tesseractshow you when you run it in a terminal?Gupta
This the path i have added in my system.
and this is my file location and location of my image grid_1.png is also there:
and this is my code with error i have written :
Now I am not getting where is the error , i am not able to read a single image.
dimitarvp
Have you run
which tesseract? If so, can you paste the output of the command?