私はあなたが持っているものがキャンバスではなくImageDataオブジェクトの中の変更されたCanvasPixelArrayであるので、これまでの答えは正しくないと思います。
ImageDataを新しいキャンバスに簡単にインポートできます。あなたは(fiddle)のようにすることができます:
$(function() {
// Let's draw something
var ctx = $('canvas').get(0).getContext('2d');
ctx.beginPath();
ctx.moveTo(100, 50);
ctx.arc(50, 50, 50, 0, 2 * Math.PI);
ctx.fill();
// Get some ImageData to work on
var originalData = ctx.getImageData(0, 0, 100, 100);
// Create another ImageData from its pixel array
// This will be empty, no image data is copied from the original context
var outputData = ctx.createImageData(100, 100);
outputData.width = 100;
outputData.height = 100;
for (i = 0; i < originalData.data.length; i++) {
outputData.data[i] = originalData.data[i];
}
// Create a new canvas
$('body').append('<canvas width=100 height=100 />');
var outputCanvas = $('canvas').get(1);
console.log(outputCanvas);
// Let's now write our data to the new canvas
outputCanvas.getContext('2d').putImageData(outputData, 0, 0);
});