<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Enzo Lizama Paredes</title>
    <description>The latest articles on DEV Community by Enzo Lizama Paredes (@enzoftware).</description>
    <link>https://dev.to/enzoftware</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F18040%2Fd0e8488c-95f5-4aa9-8ca7-7e61495c7c88.jpeg</url>
      <title>DEV Community: Enzo Lizama Paredes</title>
      <link>https://dev.to/enzoftware</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/enzoftware"/>
    <language>en</language>
    <item>
      <title>Explain me clean architecture like im five</title>
      <dc:creator>Enzo Lizama Paredes</dc:creator>
      <pubDate>Fri, 16 Feb 2018 17:57:11 +0000</pubDate>
      <link>https://dev.to/enzoftware/explain-me-clean-architecture-like-im-five--404m</link>
      <guid>https://dev.to/enzoftware/explain-me-clean-architecture-like-im-five--404m</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcTUyQVF1X73Bu0tM_7XXzHsMi-vCKaeJPPaSc74QS-AbNh9URENu6o3yykR" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcTUyQVF1X73Bu0tM_7XXzHsMi-vCKaeJPPaSc74QS-AbNh9URENu6o3yykR" alt="clean architecture"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>explainlikeimfive</category>
      <category>android</category>
    </item>
    <item>
      <title>Let’s play with the Android accelerometer + Kotlin</title>
      <dc:creator>Enzo Lizama Paredes</dc:creator>
      <pubDate>Thu, 15 Feb 2018 05:26:31 +0000</pubDate>
      <link>https://dev.to/enzoftware/lets-play-with-the-android-accelerometer--kotlin--1k7b</link>
      <guid>https://dev.to/enzoftware/lets-play-with-the-android-accelerometer--kotlin--1k7b</guid>
      <description>&lt;p&gt;This post was originally published on &lt;a href="https://medium.com/@enzoftware/lets-play-with-the-android-accelerometer-kotlin-%EF%B8%8F-ed92981b0a6c" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  General aspects about sensors
&lt;/h1&gt;

&lt;p&gt;Android devices tend to be accompanied with a series of sensors that make the device to interact with the environment that surrounds it.&lt;/p&gt;

&lt;p&gt;And that’s already great to have a range of possibilities about what we can do in our applications,these sensors allow the terminal to have a knowledge of the environment that surrounds you,but the sensors are nothing more than electronic parts that capture information from outside and it is the application which should transform this information into data to work them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gpv4ct8s4o83q3k3nax.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gpv4ct8s4o83q3k3nax.jpeg" alt="sensors" width="780" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The activities who works with sensors must implement the interface SensorEventListener that will force us to implement the methods &lt;strong&gt;onAccuracyChanged()&lt;/strong&gt; y &lt;strong&gt;onSensorChanged()&lt;/strong&gt; .&lt;/p&gt;

&lt;p&gt;The method &lt;strong&gt;onAccuracyChanged()&lt;/strong&gt; will be executed when the precision of a sensor change , while &lt;strong&gt;onSensorChanged()&lt;/strong&gt; will do it every time there is a change in one of the sensors.&lt;/p&gt;

&lt;h1&gt;
  
  
  Building an accelerometer app
&lt;/h1&gt;

&lt;p&gt;The topic of sensors in android is tremendously big and it can’t be covered at all in one article, so for this occasion we will be build an accelerometer app, metallball 💥.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqdd2jp2edspm2bglj3u7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqdd2jp2edspm2bglj3u7.gif" alt="final app" width="600" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But first a little bit about this sensor in specific.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accelerometer
&lt;/h2&gt;

&lt;p&gt;With this kind of sensor it’s possible to determinate the orientation of the terminal in the real world 🌎 , considering as coordinate axis the middle point of the device.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnimiaok1wgfk8s7f00tf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnimiaok1wgfk8s7f00tf.png" alt="device" width="800" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The accelerometer calculates the linear acceleration in each of the 3 axes (x, y, z); each axis has its own accelerometer, so that the data can be received individually.&lt;/p&gt;

&lt;h1&gt;
  
  
  The app code
&lt;/h1&gt;

&lt;p&gt;In the &lt;strong&gt;MainActivity&lt;/strong&gt; file you access to the vibration service, for that reason don't forget to copy this into the &lt;strong&gt;AndroidManifest&lt;/strong&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;uses-permission&lt;/span&gt; &lt;span class="na"&gt;android:name=&lt;/span&gt;&lt;span class="s"&gt;"android.permission.VIBRATE"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Here is the full code of the app, If you have questions, post it to be able to answer.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;



&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;If you found this helpful, click the &amp;lt;3 below. Follow me for more articles on technology.&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://github.com/enzoftware/metallball" rel="noopener noreferrer"&gt;link&lt;/a&gt; to the full source code 💥 :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fafrisoft.co.ke%2Fwp-content%2Fuploads%2F2017%2F11%2Fgithub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fafrisoft.co.ke%2Fwp-content%2Fuploads%2F2017%2F11%2Fgithub.png" alt="github" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kotlin</category>
      <category>android</category>
      <category>sensors</category>
    </item>
    <item>
      <title>How to build amazing image filters with Python— Median filter 📷 , Sobel filter ⚫️ ⚪️</title>
      <dc:creator>Enzo Lizama Paredes</dc:creator>
      <pubDate>Sat, 09 Dec 2017 08:34:38 +0000</pubDate>
      <link>https://dev.to/enzoftware/how-to-build-amazing-image-filters-with-python-median-filter---sobel-filter---5h7</link>
      <guid>https://dev.to/enzoftware/how-to-build-amazing-image-filters-with-python-median-filter---sobel-filter---5h7</guid>
      <description>&lt;h1&gt;
  
  
  How to build amazing image filters with Python— Median filter 📷 , Sobel filter ⚫️ ⚪️
&lt;/h1&gt;

&lt;p&gt;Nowadays, I’m starting in a new programming language : Python 🐍 . And I am pleased to share some of my knowledge about this new topic , which is image processing.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uwksj9p1fef57xv2mr4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uwksj9p1fef57xv2mr4.png" alt="digital image processing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is digital image processing ?
&lt;/h2&gt;

&lt;p&gt;It is a set of techniques whose objective is to obtain a result with a specific application from a source image, improving certain characteristics that allow you to extract information from the image.&lt;br&gt;
OK , After a short introduction about the meaning of image processing, Let’s continue with the filters that I will show you in this post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Median filter
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkt901nc87vfglq11lzup.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkt901nc87vfglq11lzup.gif" alt="Median filter"&gt;&lt;/a&gt;&lt;br&gt;
Taken from &lt;a href="http://artemhlezin.com/2016/09/04/median.html" rel="noopener noreferrer"&gt;http://artemhlezin.com/2016/09/04/median.html&lt;/a&gt;&lt;br&gt;
This filter is used to eliminate the ‘noise’ of the images, mainly is salt-n-pepper noise.&lt;br&gt;
There is not much theory beyond the one in the picture. This is how the filter works : gets all the values inside a mask, sorts them and then assigns the mean value to the coordinate.&lt;br&gt;
This is how it looks an image with salt and pepper noise :&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9yd7zpi8rp0u3r40yge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9yd7zpi8rp0u3r40yge.png"&gt;&lt;/a&gt;&lt;br&gt;
In Python 🐍 the filter works like this, enter to check the result:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;
&lt;br&gt;
And this is the result :&lt;br&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mgzw3rqwxd7crwgec3j.png" alt="Result"&gt;

&lt;h2&gt;
  
  
  Sobel filter
&lt;/h2&gt;

&lt;p&gt;The Sobel operator is an algorithm for edge detection, a technique to find the limits between regions in an image. The edge detection algorithm help us separate some specific parts of the source image and take them off from the background. There is more interesting theory about edge detection and the Sobel operator , but we will focus on the Python 🐍 implementation.&lt;br&gt;
Due to the excitement for the South American World Cup qualifiers I decided to use this image for example :&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyml5du8dnqdldcsbz6ld.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyml5du8dnqdldcsbz6ld.jpeg" alt="Vamos Perú"&gt;&lt;/a&gt;&lt;br&gt;
In Python 🐍 the filter works like this, enter to check the result:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;
&lt;br&gt;
And this is the result :&lt;br&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvk90aa0c74h8gzqth6z.png" alt="Result"&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I mentioned that there is much more theory about this subject; so, I will leave some articles that, in my opinion, are the most complete and better explained in the web.&lt;br&gt;
References&lt;br&gt;
Saush Blog’s , good description about sobel operator and other image processing     filter.&lt;br&gt;
    &lt;a href="https://blog.saush.com" rel="noopener noreferrer"&gt;https://blog.saush.com&lt;/a&gt;&lt;br&gt;
An edge detection implementation in C++.&lt;br&gt;
    &lt;a href="https://stackoverflow.com/questions/40445415/sobel-edge-detection-implementation" rel="noopener noreferrer"&gt;https://stackoverflow.com/questions/40445415/sobel-edge-detection-implementation&lt;/a&gt;&lt;br&gt;
A detailed article about of median filter.&lt;br&gt;
    &lt;a href="http://fourier.eng.hmc.edu/e161/lectures/smooth_sharpen/node2.htm" rel="noopener noreferrer"&gt;http://fourier.eng.hmc.edu/e161/lectures/smooth_sharpen/node2.htm&lt;/a&gt;&lt;br&gt;
Another implementation of Sobel filter. &lt;br&gt;
&lt;a href="http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm" rel="noopener noreferrer"&gt;http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading this little post , totally open to feedback. Questions in the comment box and show your support 👏❤️ .&lt;br&gt;
You can watch my open-source projects in my &lt;a href="https://github.com/enzoftware" rel="noopener noreferrer"&gt;Github&lt;/a&gt; account.&lt;/p&gt;

</description>
      <category>python</category>
      <category>imageprocessing</category>
    </item>
  </channel>
</rss>
