Android app for joining several photographs into a larger flat image

I want to take some large photographs of objects on the floor by taking several images and stitching them together.

I’ve tried out some panorama apps, but while they automatically stitch the images nicely, they “bend” them to the usual panorama projection.

Are there apps which can automatically stitch into a large flat picture? What’s the name of this type of software?

Image not displaying in phaser 3

Recently I started making a game on phaser 3.
I made an image player.png. Now comes the weird part. Whenever I try to display player.png it won’t display on screen. Path, filename, console everything is correct. Code also has no errors. Now when I replaced the png image with another surprise it shows up. In fact any other image would be displayed other than player.png.
Please can anyone figure out why?

Backup/dump kernel image without root

I would like to pull the boot image of my device Pipo N7. I don’t have root.
I found the following link:

Backup/dump kernel image without root or twrp/cwm`

But when I try to find /dev -name 'by-name' 2>/dev/null I can’t get it to work it seems I need root.

Is there any other way to get the boot image pulled without root?

P.S. I would have commented on that link but I’m not allowed to since I don’t have enough reputation.

Representation Of Digital Image, Fourier analysis [duplicate]

This question already has an answer here:

  • What does an image of Fourier Transformation of an image tell us?

    1 answer
  • Image Processing and applicability of 2D Fourier Transform

    2 answers

I am reading up about Fourier analysis of digital signals and came across a question which confused me. The question proposed was:

In what does an image consist from the fundamental viewpoint in the Fourier analysis of
images (i.e. how do we
consider an image)?

Now this question got me thinking in terms of what the images actually are and how Fourier is being applied but I then shortly realised Im not entirely sure.
(Just to point out I using the question to convey my confusion)

So my view point at the moment is that if I think of a line of an image (Black and White) it going to comprise of different intestines so the intentnesses in the time domain as I understand are represented by sinusoidal waves but here my first point of confusion is that sinusoidal wave allocated to one pixel or is it a continuous wave which goes across the image line by line?

Another thing which im having trouble with is the intensity of the image represented by the amplitudes of the wave and in that case is I assume that a continuous wave across the image then you would various amplitude which would mean that the wave is not periodic? Because if I think of a pendulum altering the amplitude effects the periodic nature. Which means that the Fourier analysis would not work as far as I know Fourier series only work on periodic functions.

As Fourier series of an image is actually 2D 2D Fourier series plot
The above diagram is how I visualise how a plot a image would look in the time domain is just I am not sure how it comes about is occurs due to my issue that I have outline above.

I appoliges if this is a lot of questions it just that I can only really understand something if I can visualise what actually happening. If anyone could maybe break down the process or just give a explantation to why my thought process is incorrect that would be much appreciated.

When trying to add image to media library it errors

I get an error when trying to add an image to the image-library. However, the file does successfully store in uploads but I think it creates a bad record in the associated table (no not know whether that is). The record has no attributes, no title and cannot be deleted. It shows up in list view in amongst other good records (but at the top) but nothing displays in icon view. It is as if it is failing to generate a new key for the record in a table so writes a record without a key and that messes up the icon display.

Exporting classified image from earth engine as GeoTIFF

I am currently working on exporting a classified image as a geoTIFF on Google Earth Engine. The classification has four categories and a brief snippet of code is provided below. I can get the image to export, but the issues arises when I open it in ENVI. The image appears with one band and only in black and white, so I can’t realistically use this classification for what I need.

var classifier = ee.Classifier.cart().train({
  features: training, 
  classProperty: 'landcover', 
  inputProperties: bands

var classified =;

Map.centerObject(featureCollections, 11);
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.3}, 'Landsat image');
  {min: 0, max: 3, palette: ['E74C3C', '52BE80', '3498DB', '#F7DC6F']}, 'classification');

I’ve reviewed this already, but I think my problem is actually attaching the color pallette and min/max to the image I am downloading, rather than just adding it as a map layer.

Refactor code to upload image to Firebase Storage and push url to JSON

I have been trying now for days to refactor this code so that it uploads each image to Firebase Storage, then once complete, will save a json file containing each of the Storage urls. In it’s current format, I can upload a small number of files to Storage, but the function returns before the urls have been obtained and as such the json file is empty. The folder on my disk from which the files are uploaded contains almost 1000 images, hence why i can’t upload them and obtain the URLs manually. How can i alter this such that I am provided with a json file containing each of the URLS:

var fs = require('fs')
const { Storage } = require('@google-cloud/storage')

const projectId = 'PROJECT_ID'

// Creates a client
const storage = new Storage({
  projectId: projectId,
  keyFilename: 'auth.json'
// Reference the bucket
var bucket = storage.bucket('BUCKET_NAME')

// This reads the folder where the images are stored on my hard disk
const folderContainingImages = 'FOLDER_PATH'

async function iterate (filePath, file, array) {
  await bucket.upload(filePath, (err, file) => {
    if (err) { return console.error(err) }
    let filename =
    let publicUrl = `${projectId}${filename}?alt=media`

async function uploadImage () {
  async function fileReadWrite () {
    const storageURLsArray = []
    await fs.readdir(folderContainingImages, (err, files) => {
      if (err) {
        console.error(`Could not read the directory`, err)
      files.forEach(function (file) {
        // let internalData = []
        var filePath = `${folderContainingImages}/` + file
        // Upload a local file to a new file to be created in the bucket
        iterate(filePath, file, storageURLsArray)
    return storageURLsArray
  const data = await fileReadWrite()
  return data

uploadImage().then((value) => {
  // console.log(JSON.stringify(value, null, 2));
    JSON.stringify(value, null, 2),
    (err) => err ? console.error('error data not written', err) : console.log('Data written!')